我无法摆脱递归的setTimeout()而我不知道我做错了什么。
timer.start = function() {
//do something here
recursive(); //call the recursive once to start it up
function recursive() {
setTimeout1 = setTimeout {
function() {
//do something
recursive();//call recursive after a delay
}, delay}
}
}
一旦"暂停"我怎么能阻止它按钮已被击中?
我试过这个:
clearTimeout(setTimeout1);
<br />
setTimeout1 = null;
这不会一直有效。
答案 0 :(得分:2)
如何为所有超时维护单个数组?
var setTimeouts = [];
timer.start = function() {
recursive();
function recursive() {
setTimeouts.push( setTimeout ( function() { recursive(); }, 1000 ) );
}
}
如果要停止计时器,请调用此功能。
function clearTimeouts() {
for (var i = 0; i < setTimeouts.length; i++) {
clearTimeout(setTimeouts[i]);
}
}