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
你的函数所以它得到reset setTimeout
将在一段时间后调用一个函数一次。它不会清除间隔,你需要clearInterval
。