javascript clearInterval() 函数不工作
javascript clearInterval() function is not working
var a = 0;
window.addEventListener("keydown", function(e) {
clearInterval(interval) //this dont work
var interval = setInterval(function() { //this is good
if (a == 0) {
console.log(a);
a = 10;
} else if (a == 10) {
console.log(a);
}
}, 120)
})
//我希望当用户按下键间隔停止时,新间隔再次开始但旧间隔不能停止
你有两个问题。
- 您的函数
var interval
在 中,因此每次函数运行时它都会重置。
setTimeout
将在一段时间后调用一次函数。它不会清除间隔,为此你需要 clearInterval
。
var a = 0;
window.addEventListener("keydown", function(e) {
clearInterval(interval) //this dont work
var interval = setInterval(function() { //this is good
if (a == 0) {
console.log(a);
a = 10;
} else if (a == 10) {
console.log(a);
}
}, 120)
})
//我希望当用户按下键间隔停止时,新间隔再次开始但旧间隔不能停止
你有两个问题。
- 您的函数
var interval
在 中,因此每次函数运行时它都会重置。 setTimeout
将在一段时间后调用一次函数。它不会清除间隔,为此你需要clearInterval
。