我有被激活一次startnew
按钮被按下计数器:JavaScript计数器的第二个按钮后加快单击
<button id="startnew" onclick="counter()">Start new Game</button>
var i = 0;
function counter() {
var execution = setInterval(function(){
active()
}, 1000);
function active() {
i++;
document.getElementById("timer").innerHTML = i;
}
}
问题是当我在startnew
按钮,点击第二次,在计时器开始计时加速作为内部变量保持不变。 我已经尝试在代码的不同部分添加额外的if
子句,它将检查按钮是否已被点击,但目前为止没有成功。
第二次点击同一个按钮后,如何重置内部变量?
你每次执行'counter'函数时创建一个新的'setInterval'。这是加速你的'我'的罪魁祸首。 – choz
'function counter(){var i = 0; clearInterval(执行);在计数器函数内声明变量'i'。也就是 – Sasikumar
所以,正如choz所说的是正确的,如果你想开始一个新游戏,你应该检查你的实例是否还在工作,如果是这样,将其设置为'null'并创建一个新实例。编辑:还记得设置你的'我'回到'0'。 – Matthew