Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何重置按钮中的setTimeout函数,使其可以再次运行_Javascript_Jquery_Settimeout_Jquery Timing - Fatal编程技术网

Javascript 如何重置按钮中的setTimeout函数,使其可以再次运行

Javascript 如何重置按钮中的setTimeout函数,使其可以再次运行,javascript,jquery,settimeout,jquery-timing,Javascript,Jquery,Settimeout,Jquery Timing,有一个按钮,它的函数运行两个setTimeout函数,它们都逐个运行。所以我想重置setTimeout,如果我再次按下按钮,整个过程就会再次发生 我怎么做 我的示例代码: function add(){ setTimeout(function() { $(".line1").fadeIn(function(){ $(".lineBox").animate({width: "260px"}, function(){ $(".line2"

有一个按钮,它的函数运行两个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()函数时,它再次运行?

要控制
setTimeouut
为其分配一个全局变量:

var cid = setTimeout(...);
需要重置时,请先调用
clearTimout
,然后再调用
setTimeout

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

注意
设置超时
只运行一次。如果您希望每隔几秒钟运行一些代码,请签出
setInterval

取消超时:
var timerId=window.setTimeout(…)
=>window.clearTimeout(timerId)。这只会在动画开始前停止计时器。我不知道如何取消你的动画