Javascript 如何暂停/停止计时器?

Javascript 如何暂停/停止计时器?,javascript,button,timer,Javascript,Button,Timer,我有一个计时器,但我想添加一个“停止”按钮或链接,它将冻结计时器。怎么做 HTML: 剩余时间: JAVASCRIPT: var seconds_left = 60; var interval = setInterval(function() { document.getElementById('timer_div').innerHTML = --seconds_left; if (seconds_left <= 0) { document.ge

我有一个计时器,但我想添加一个“停止”按钮或链接,它将冻结计时器。怎么做

HTML:

剩余时间:
JAVASCRIPT:

var seconds_left = 60;
var interval = setInterval(function() {
    document.getElementById('timer_div').innerHTML = --seconds_left;

    if (seconds_left <= 0)
    {
        document.getElementById('timer_div').innerHTML = '...';
        clearInterval(interval);
    }
}, 1000);
var seconds\u left=60;
var interval=setInterval(函数(){
document.getElementById('timer\u div')。innerHTML=--seconds\u left;
如果(剩下的秒数只需使用

<input type="button" value="STOP" onclick="clearInterval(interval);" />

这里至少有一个关于如何停止正在运行的函数(计时器)的示例:

html:

TIME LEFT: <font size="5" color='#F7D358'><span id='timer_div'></span></font>
<input type="button" value="Pause" id="timer_pause" />
<input type="button" value="Resume" id="timer_resume" />
剩余时间:
javascript:

var seconds_left = 60, interval;
function startTimer() {
    clearInterval(interval);
    interval = setInterval(function() {
        document.getElementById('timer_div').innerHTML = --seconds_left;

        if (seconds_left <= 0)
        {
            document.getElementById('timer_div').innerHTML = '...';
            clearInterval(interval);
        }
    }, 1000);
}
document.getElementById('timer_pause').onclick = function () {
    clearInterval(interval);
};
document.getElementById('timer_resume').onclick = function () {
    startTimer();
};
startTimer();
var seconds\u left=60,间隔;
函数startTimer(){
间隔时间;
间隔=设置间隔(函数(){
document.getElementById('timer\u div')。innerHTML=--seconds\u left;
如果(剩余秒数

剩余时间:
var seconds_left=60;
var区间;
var=false;
var b=document.getElementsByTagName(“按钮”)[0];
函数tick(){
document.getElementById('timer\u div')。innerHTML=--seconds\u left;
如果(还剩几秒我已经编写了一个脚本(请参阅),允许您轻松启动和停止定时事件:

var span = document.querySelector("span");

var seconds = 60;

var timer = new DeltaTimer(function () {
    span.innerHTML = seconds ? seconds-- : (timer.stop(), "...");
}, 1000);

timer.start();
上述代码相当于您当前的代码。在上面添加一个停止按钮非常简单:

var running = true;

document.querySelector("button").addEventListener("click", function () {
    if (running) timer.stop();
    else timer.start();
    running =! running;
});

亲自查看演示:

您现在无法继续!请改用setTimeout。示例位于-
var span = document.querySelector("span");

var seconds = 60;

var timer = new DeltaTimer(function () {
    span.innerHTML = seconds ? seconds-- : (timer.stop(), "...");
}, 1000);

timer.start();
var running = true;

document.querySelector("button").addEventListener("click", function () {
    if (running) timer.stop();
    else timer.start();
    running =! running;
});