0

我在单个页面上使用多个实例 Google 的 swiffy SWF 转换工具,并希望在按顺序命名的 div(content-1,content-2)的 jQuery 循环中一次激活它们。

我知道您可以通过以下方式控制每个实例的启动:

    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>
4

1 回答 1

1

希望这可以帮助其他使用 swiffy 的人。

即使没有某种 rewind(); 方法然而,有一个 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();
于 2012-09-03T23:18:47.710 回答