我在函数中有一个setinterval,第一次单击时一切正常,但随后的每次单击都会加速此计时器。我不明白为什么。

function startGame() {
    var myVar=setInterval(function(){myTimer()},100);
}

最佳答案

第二次单击时,第一个间隔也有效,因为此事件在100ms内发生两次。尝试这个:

var myVar;
function startGame() {
    if(myVar)
        clearInterval(myVar);
    myVar=setInterval(function(){myTimer()},100);
}


要么:

var myVar;
function startGame() {
    if(!myVar)
        myVar=setInterval(function(){myTimer()},100);
}

关于javascript - setinterval似乎正在加速,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15833296/

10-12 01:27
查看更多