2012-01-06 85 views
1

我在我的個人網站上使用bxSlider jQuery腳本。我已經能夠將它與SWF文件一起使用。有用!但是swf在這段時間內全部運行......當它們不可見時也是如此。jQuery滑塊和swf

所以我想停止swf文件,當他們不可見。

兩種方式(我想):

1):使用Flash變數和工作在這個變種的SWF內(我可以,我是一個閃光)。 但是:如何將flashvar從jQuery腳本發送到php頁面?我發現了類似的討論,但我需要更多關於這個特定腳本的幫助。

或:

2):殺死,刪除或類似的東西隱藏的SWF和輪到他要顯示時重新加載它。

回答

0

它一直以來我所做的任何Flash很長的時間,所以我不是100%肯定的停止和播放呼叫,但是文件準備的代碼應該是這個樣子......

$(document).ready(function(){ 
    $('#slider1').bxSlider({ 
     onAfterSlide: function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject) { 
      switch (currentSlideNumber) { 
       case 0: 
        $(".slideshow_elemento object")[0].SetVariable("_play", true); 
        $(".slideshow_elemento object")[1].SetVariable("_play", false); 
        break; 
       case 1: 
        $(".slideshow_elemento object")[0].SetVariable("_play", false); 
        $(".slideshow_elemento object")[1].SetVariable("_play", true); 
        break; 
      } 
     } 
    }); 
}); 

然後,在每一個Flash動畫,你需要一塊手錶添加到變量_play ...

function playChange(prop, oldval, newval) { 
    if (_play) { 
     Play(); 
    } else { 
     Stop(); 
    } 
    return newval; 
} 
var _play = false; 
this.watch("_play", playChange); 

這可能是不正確的 - 你可能需要一點玩的動作得到它正確的。

+0

非常感謝阿切爾。 是的,我認爲actioscript部分是在舊的as2,我的flash現在在as3。但我可以與它戰鬥! 對我來說這個怪物跟'文檔準備好'一樣。爲了解釋我自己,我必須找出將代碼粘貼到現有cose [(this)]的位置(https://github.com/wandoledzep/bxslider/blob/master/source/jquery.bxSlider.js)。今晚我要去試試。 – 2012-01-06 17:58:09

+0

你不需要粘貼在那裏。它進入你的網頁。只需將您主頁中的$(document).ready替換爲上面的那個。我帶你並修改它以獲得上述代碼。 – Archer 2012-01-06 20:31:56

+0

太好了(謝謝!)。現在文檔已準備就緒。它是[在線](http://www.riscovo.com/a-bank-of-ideas/),你可以在源代碼中看到結果,你認爲現在可以使用非Flash的問題部分嗎? – 2012-01-07 12:09:42