我有一个小问题,用Javascript清除间隔。 我已经搜索了我犯过的错误,但我找不到任何错误。
变量声明:
let i, interval;
let currentLoops = 0;
let settings = {
amount:0,
loops:0,
speed:0};
我的间隔时间:
$('#start').click(()=>{
getSettings();
let interval = setInterval(setColorGrid, settings.speed);
});
我是如何尝试清除它的:
if(currentLoops == settings.loops){
clearInterval(interval);
console.log("interval cleared");
}
如果您对此评论有任何想法/建议。
答案 0 :(得分:2)
从事件处理程序中删除let
部分。它导致创建一个处理函数作用域interval
变量,该变量遮蔽外部interval
变量。
$('#start').click(() => {
getSettings();
interval = setInterval(setColorGrid, settings.speed);
});