0

複数のインスタンス Google の swiffy SWF 変換ツールを 1 つのページで使用しており、順番に名前が付けられた div (content-1、content-2) の jQuery サイクル内で一度に 1 つずつアクティブにしたいと考えています。

次の方法で各インスタンスの開始を制御できることを知っています。

    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 に答える