如果调用两次,setInterval()将不会停止

pen*_*ops 0 javascript timer setinterval

我要做的是制作滑出面板,但这里是我遇到的问题的简化示例.

myCount = document.getElementById("counter")
myCount.onclick = startCount;
count = 0;

function startCount() { 
    timer = setInterval("countToTen()", 200);   
}

function countToTen() {

    count++;
    myCount.innerHTML = count;

    if (count >= 10) {
        clearInterval(timer);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果单击一次,它的效果很好.如果你双击(并且我们不能相信用户只能在他们应该的时候点击),那么计数器将永远持续下去.我猜两个计时器已经制作完成,但是Firebug显示的计时器始终具有相同的ID.那么当setInterval被调用两次时,如何正确使用clearInterval?

dec*_*eze 6

var timer;
function startCount() { 
    if (!timer) {
        timer = setInterval(countToTen, 200);
    }
}
Run Code Online (Sandbox Code Playgroud)