页面调用单个swf文件,嵌套出多个方法。

  HTML 端:

  PART 1:

  

复制代码 代码如下:

  {{foreach from=$question.question_item item="it" name="question_item"}}

  <tr>

  <td align="left">{{$it.item_id}}</td>

  <td align="left">{{$it.item_name}}</td>

  <td align="left">9

  <input type="hidden" class="swfhdn" value="{title:{{$it.item_name}},vote:12票,proportion:0.25,singleId:swfdv{{$key+1}}}"/></td>

  </tr>

  {{/foreach}}

  PART 2:

  

复制代码 代码如下:

  <div style="width:190px; height:10px; background-color:#FFF; float:left;"></div>

  <div id="swfdv{{$key+1}}" class="swfarea"></div>

  <input type="hidden" class="swfQuesCount" value="{{$key+10}}"/>

  JS 文件:

  

复制代码 代码如下:

  function createSWF(swfHome,swfHeight)

  {

  if(swfobject.hasFlashPlayerVersion("9"))

  {

  var flashvars = {};

  flashvars.quesID = swfHome;

  swfobject.embedSWF("swf/statistic2.swf",swfHome,"520",swfHeight,"9","",flashvars);

  }

  }

  var aryMSG = new Array();

  function resultArray() { return aryMSG; }

  function init()

  {

  var ary = $(".swfhdn");

  for(j = 0; j< ary.length; j++)

  {

  aryMSG.push(ary[j].value);

  }

  var arySWF = $(".swfarea");

  for(i = 0; i < arySWF.length; i++)

  {

  var swfheight = $(".swfQuesCount")[i].value * 18 + 3;

  createSWF(arySWF[i].id.toString(),swfheight.toString());

  }

  }

  FLEX 端:

  

复制代码 代码如下:

  <?xml version="1.0" encoding="utf-8"?>

  <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"

  layout="absolute" backgroundColor="0xffffff"

  verticalScrollPolicy="off" horizontalScrollPolicy="off"

  creationComplete="application1_creationCompleteHandler(event)">

  <mx:VBox id="cvs" y="2" width="100%" height="100%" verticalGap="5"/>

  <mx:Script>

  <![CDATA[

  import com.flexlib.moudel.statistical.StatisticalService;

  import com.flexlib.moudel.statistical.StatisticalBar;

  import com.flexlib.moudel.statistical.StatisticalPane;

  import mx.events.FlexEvent;

  private var res:StatisticalService = new StatisticalService();

  public function StatisticalManager(ary:Array):void

  {

  var bar:StatisticalBar = new StatisticalBar();

  bar.width = 350;

  bar.height = 15;

  bar.accurate = 1;

  // bar.color = 0x9999ff;

  var pane:StatisticalPane = new StatisticalPane();

  pane.width = 520;

  pane.height = 15;

  pane.titleSpace = 50;

  pane.voteSpace = 35;

  pane.barSpace = 25;

  pane.percentSpace = 60;

  res.dataArray = ary;

  res.autoColorEnabled =true;

  res.geostrophyEnabled = true;

  res.geostrophy = [0xffffff,0xcccccc];

  res.StatisticalList(pane,bar,cvs);

  }

  protected function application1_creationCompleteHandler(event:FlexEvent):void

  {

  var item:Object = Application.application.parameters;

  var aryMSG:Object = ExternalInterface.call("resultArray");

  var strtmp:String;

  var newAry:Array = new Array();

  for(var i:int = 0; i < aryMSG.length; i++)

  {

  strtmp = aryMSG[i].substring(aryMSG[i].indexOf("singleId:") + 9,aryMSG[i].length - 1);

  if(strtmp == item.quesID){ newAry.push(aryMSG[i]); }

  }

  StatisticalManager(newAry);

  }

  ]]>

  </mx:Script>

  </mx:Application>