我有这段代码 -
function example() {
var i = 0;
function add() {
i++;
}
setTimeout(function doSomething() {
add();
setTimeout(doSomething, 1000);
}, 1000);
}
现在基本上我想通过按下按钮使“setTimeout”停止 - 任何想法我怎么可能这样做? 感谢任何帮助
答案 0 :(得分:2)
您无需在setTimeout
内拨打setTimeout
。您可以使用setInterval
,它会每秒调用一次。请参阅以下代码以使用clearInterval()
var timeInterval = '';
function example() {
var i = 0;
function add() {
i++;
}
//store time Interval using variable
timeInterval = setInterval(function() {
add();
//setTimeout(doSomething, 1000);-- remove this
}, 1000);
}
function buttonClick()
{
//clear time out
window.clearInterval(timeInterval);
}
答案 1 :(得分:0)
您需要使用clearTimeout:
var timer = setTimeout(doSomething, 1000); //store setTimeout in a variable
//now when you need clear it:
clearTimeout(timer)
答案 2 :(得分:-1)
要清除“setTimeout”引起的延迟,请使用“clearTimeout”功能。 Check Here