如何重置按钮中的setTimeout函数,以便它可以再次运行

时间:2014-10-19 23:11:47

标签: javascript jquery settimeout jquery-timing

有一个按钮,它的功能运行几个setTimeout函数,它们都是逐个运行的。所以我想重置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()函数,它会再次运行?

1 个答案:

答案 0 :(得分: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只运行一次。如果您希望每隔几秒钟运行一些代码,请结帐setInterval