4

Flash ムービーの代わりを作ろうとしています。

アニメーションはとてもシンプルで、背景画像が左に 10 秒間スライドします。

私はjqueryでアニメーションを再現することができました..それは完璧に動作します..しかし、一度だけ!T_T

ループさせる方法を知っている人はいますか?

これがコードです

function first() {
    $(".img1").animate({left: "-214"}, 10000);
    $(".img2").hide();
    // i hide everything        
};

function second() { 
    $(".img2").fadeIn("slow");
    $(".img1").fadeOut("slow");
    $(".img2").animate({left: "-214"}, 10000);
    // other div animations.. fades in.. slides.. etc.
};

タイミング関数は次のとおりです。

$(function() {  
    setTimeout("first()",0);
    setTimeout("second()",10000);
    setTimeout("third()",20000);
    setTimeout("fourth()",30000);
    setTimeout("fifth()",40000);        
});

私はsetTimeoutをクリアしようとしました..明らかに成功していません..だから、あなたがどうすればそれらの関数(最初、2番目、3番目..など..)で無限ループを作ることができるか手がかりがあれば、私はすべての耳です.

ありがとう!!

4

3 に答える 3

2

これを試して:

...
function doAnimation() {
    setTimeout("first()",0);
    setTimeout("second()",10000);
    setTimeout("third()",20000);
    setTimeout("fourth()",30000);
    setTimeout("fifth()",40000);  
}

$(document).ready() {
    setInterval("doAnimation()", 5000);
});

Javascript タイミング イベントを参照してください。

于 2010-03-02T01:55:25.213 に答える
0

コールバック パラメータを使用して、各関数が次の関数をトリガーするようにします。

于 2010-03-02T01:54:23.560 に答える
0

アニメーション コードを関数でラップし、最後にタイマーを設定します。何かのようなもの:

function doAnimation() {
    setTimeout("first()",0);
    setTimeout("second()",10000);
    setTimeout("third()",20000);
    setTimeout("fourth()",30000);
    setTimeout("fifth()",40000);
    setTimeout("doAnimation()", 50000);
}
于 2010-03-02T01:55:46.150 に答える