我正在尝试设置和清除具有两种功能的轮播的间隔:res.send
和playX
。
stopX
尽管它被启动,并且不断地运行,但是即使被调用,它也不会停止:
var timerX;
function playX (timerX, B, C, D, E) {
setInterval(function() { away(timerX, B, C, D, E); },3000);
}
function stopX (timerX, B, C, D, E) {
clearInterval(timerX);
console.log('STOP: CLEARED: timer: '+timerX);
}
我知道定时器var必须在函数之外,并且在其他任何地方都不会重新分配。即使这样,它也不起作用。
在此问题上,我已经看了很多问题,但是没有一个答案对这种情况有帮助。
答案 0 :(得分:0)
setInterval
返回的值应用作clearInterval
的参数。
var timerX;
var intervalId;
function playX(timerX, B, C, D, E) {
intervalId = setInterval(function() { away(timerX, B, C, D, E); }, 3000);
}
function stopX(timerX, B, C, D, E) {
clearInterval(intervalId);
console.log('STOP: CLEARED: timer: '+timerX);
}