2012-09-03 35 views
0

我在單個頁面上使用了多個Google swiffy SWF轉換工具,並希望在jQuery循環中按順序命名的div(content-1,content- 2)。在jQuery循環內觸發谷歌swiffy腳本

我知道你可以控制通過每個實例的開始:

stageName.start(true) 

如果它們依次命名爲(stageName1,stageName2),你可能會引發以下的周期函數內的每個動畫:

$(document).ready(function(){ 

var divs = $('div[id^="content-"]').hide(), 
    i = 0; 

(function cycle() { 
    divs.eq(i).fadeIn(400) 
       .delay(5000) 
       .fadeOut(400, cycle); 

    i = ++i % divs.length; // increment i, 
          // and reset to 0 when it equals divs.length 
})(); 

});// JavaScript Document 

這是他們如何在每個'content-'div內觸發:

<script> 
var stage2 = new swiffy.Stage(document.getElementById('circle_lines'), circleobject); 
stage2.start(); 
</script> 

回答

1

希望這有助於別人誰使用swiffy。

即使沒有任何類型的倒帶();方法,但有一個destroy()方法。

在我最初發布的jQuery循環中,我使用了動態全局JS變量來不斷啓動和銷燬新swiffy對象。

這使我能夠遍歷不同的div並在每個週期重新開始動畫。

if (typeof window["Stage" + i] != 'undefined') { 
    window["Stage" + i].destroy(); 
} 

    i = ++i % divs.length; // increment i, 
          // and reset to 0 when it equals divs.length 


    window["Stage" + i] = new swiffy.Stage(document.getElementById('graph_lines'), swiffyobject); 
    window["Stage" + i].start();