首页 > 解决方案 > 为什么我的 JavaScript 第二个计数器不起作用?

问题描述

我用 JavaScript 做了第二个计数器。但是我的代码不起作用。

我的问题:“首先我按下了开始按钮,但秒没有正常进行。”

这是我的代码:

var a = 0;
var Time = setInterval(Counter, 1000);
function startCounter() {
    setInterval(Counter, 1000);
}

function Counter() {
    a += 1;
    seconds.innerHTML = a;
}

function pauseCounter() {
    clearInterval(Time);
}

function resetCounter() {
    a = 0;
    seconds.innerHTML = a;
}
<button onclick="startCounter()">Start</button>
<br>
<button onclick="pauseCounter()">Pause</button>
<p>Seconds: <a id='seconds'>0</a></p>
<button onclick="resetCounter()">Reset</button>

标签: javascripthtmlcounter

解决方案


您的代码中的问题是以下行:

setInterval(Counter, 1000);

在上面的行中,您正在创建一个间隔,但您没有将它分配给任何变量。所以它没有被取消。

在开始新的间隔之前,请确保清除最后一个间隔。

您需要将新分配setIntervalTime每次

var a = 0;
var Time;
function startCounter() {
    clearInterval(Time)
    Time = setInterval(Counter, 1000);
}

function Counter() {
    a += 1;
    seconds.innerHTML = a;
}

function pauseCounter() {
    clearInterval(Time);
}

function resetCounter() {
    a = 0;
    seconds.innerHTML = a;
}
<button onclick="startCounter()">Start</button>
<br>
<button onclick="pauseCounter()">Pause</button>
<p>Seconds: <a id='seconds'>0</a></p>
<button onclick="resetCounter()">Reset</button>


推荐阅读