首页 > 解决方案 > 如何修复javascript计时器以使秒数达到60然后重置为零

问题描述

我正在设置一个计时器,但目前秒数达到数千,而不是在 60 秒后重置为零。有没有快速解决这个问题的方法?这是我正在使用的代码:

var running = 0;
function startPause(){
if(running == 0){
    running = 1;
    increment();
    document.getElementById("start").innerHTML = "Pause";
}else{
    running = 0;
    document.getElementById("start").innerHTML = "Resume";
}
};

function reset(){
running = 0;
time = 0;
document.getElementById("output").innerHTML = "00:00";
document.getElementById("start").innerHTML = "Start";
};
function increment(){
if(running == 1){
    setTimeout(function(){
        time++;
        var mins = Math.floor(time / 10 / 60);
        if(mins <= 9){
            mins = "0" + mins;
        }
        var secs = Math.floor(time / 10);
        if(secs <= 9){
            secs = "0" + secs;
        }
        document.getElementById("output").innerHTML = mins + ":" + secs;
        increment();
    }, 100);
}};

标签: javascripttimer

解决方案


您可以使用模% 60

它使除法的其余部分增加了 60

示例 127 % 60 = 7


推荐阅读