2012-10-18 19 views
4

上一個jQuery功能我有一個項目,建立一個可擴展的網絡旗幟和我在使用Flash的外部接口調用的麻煩。使用一個ActionScript外部接口調用來啓動HTML頁面

我試圖做的是通過點擊我的瑞士法郎旗幟內的按鈕啓動我的HTML頁面上的jQuery函數。

jQuery函數只是擴展一個來揭示另一個.swf文件。

---這是jQuery代碼在我的HTML頁面的頭部---

<script type="text/javascript"> 

$(document).ready 
(function() 
    { 
    $(".contentBox").hide(); 

     $(".bannerBox").click 
     (function expand() 
      { 
      $(".contentBox").slideToggle(); 
      } 
     ); 
    } 
); 

</script> 

---這是我的ActionScript代碼---

clickMe.addEventListener(MouseEvent.CLICK,fnMouseOn); 
function fnMouseOn(e:MouseEvent):void 
{ 
    ExternalInterface.call('expand()') 
} 

抱歉,如果這問題已在其他地方得到解答,我還沒有明白,我一直在尋找一個解決方案几個小時,現在我一直沒有弄明白。

任何幫助表示讚賞:-)

+1

我不是JS專家,但它種似乎你的'expand()'函數是在一個匿名函數內定義的。因此,Actionscript可能無法訪問該功能?另外(可能不是問題),當使用ExternalInterface時,您通常在函數名稱中省略括號:ExternalInterface.call('expand')'。最後,如果你描述問題發生時會發生什麼,這可能會有所幫助。 –

回答

2

蘇尼爾D.有它的權利。擴展功能只有點擊任務的上下文中存在,否則不能叫,但有一點重構,你應該去的好:

<script type="text/javascript"> 

$(document).ready 
(function() 
    { 
    $(".contentBox").hide(); 

     $(".bannerBox").click 
     (function(){expand();} 
     ); 
    } 
); 

function expand(){ 
    $(".contentBox").slideToggle(); 
} 
</script> 
相關問題