Javascript 如何重置按钮中的setTimeout函数,使其可以再次运行
有一个按钮,它的函数运行两个setTimeout函数,它们都逐个运行。所以我想重置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"
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)。这只会在动画开始前停止计时器。我不知道如何取消你的动画