当我不断按下keydown事件(字母k)时,为什么下面的keydown事件不会减慢3000 mil?如果我把手指放下,计数会迅速加起来,因为mcount上没有setTimeout.这是为什么?每次计数之间应该有延迟,但我无法让它工作......
var mcount = 0;
function playershoot() {
if(!game.playerHit){
$(document).keydown(function(e){
switch(e.keyCode){
case 75:
clearTimeout();
setTimeout(console.log(mcount++), 3000);
break;
}
});
}
}
playershoot();
Run Code Online (Sandbox Code Playgroud)
任何建议将被认真考虑!
谢谢
1:setTimeout()返回timeoutId可以清除的a clearTimeout(timeoutId).你没有这样做......所以,在你的3秒延迟之后,所有这些超时都被称为背对背.
2:你console.log的执行是因为你没有把它包装成这样的函数:
setTimeout(function() { console.log(mcount++) }, 3000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1583 次 |
| 最近记录: |