0

その関数がいくつかの setTimeout 関数を実行するボタンがあり、それらはすべて 1 つずつ実行されます。setTimeout をリセットしたいので、もう一度ボタンを押すと、プロセス全体が再び行われます。

どうすればいいですか?

私のコード例:

function add(){

setTimeout(function() {

    $(".line1").fadeIn(function(){
    $(".lineBox").animate({width: "260px"}, 
        function(){
            $(".line2").fadeIn();
            $(".text1").delay(250).fadeIn();                
        });
    });

}, 500);

setTimeout(function() {
   $(".heyyyyy").append("y");
}, 3000);

}

HTML::

<div onclick="add()"></div>

では、この setTimeout をリセットして add() 関数を実行すると、再び実行されるようにするにはどうすればよいでしょうか?

4

1 に答える 1

2

setTimeouutグローバル変数の割り当てを制御するには、次のようにします。

var cid = setTimeout(...);

リセットする必要がある場合は、clearTimoutまず電話してからsetTimeout

clearTimeout( cid );
cid = setTimeout( ... ); //you must reassign it to same var if you plan to reset again.

注記 setTimeoutは 1 回だけ実行されます。setInterval数秒ごとにコードを実行する場合は、チェックアウトしてください。

于 2014-10-19T23:20:26.247 に答える