问题描述
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
。