Javascript秒到分:秒

Javascript秒到分:秒,javascript,Javascript,我正在制作一个时钟,它需要以秒为单位显示时间 分:秒 格式 我已经做了一些显示的辅助功能,但我从来没有真正得到完整的显示。以下是我的一些代码: var time = 1500; //Must declare timeHandler as global variable for stopTimer() var timeHandler; //Set intial HTML to time document.getElementById("timer").inn

我正在制作一个时钟,它需要以秒为单位显示时间

分:秒 格式

我已经做了一些显示的辅助功能,但我从来没有真正得到完整的显示。以下是我的一些代码:

    var time = 1500;
    //Must declare timeHandler as global variable for stopTimer()
    var timeHandler;
    //Set intial HTML to time
    document.getElementById("timer").innerHTML = display;

    //Timer function for start button
    function timer() {
      timeHandler = setInterval(function() {
        if (time > 0) {
          time--;
          document.getElementById("timer").innerHTML = time;
        }
      }, 1000);
    }

    //Stop function for stop button
    function stopTimer() {
      clearTimeout(timeHandler);
    }
//Timer Display 
var minutes = time/60; 
var second = time%60; 
var display = minutes + ":" + seconds;
HTML:

<h1> Pomodoro Clock</h1>
<!--Place holder for timer-->
<div id="timer" class="circle">Timer</div>
<!--//Start Button-->
<button onclick="setTimeout(timer, 1000);">Start</button>
<!--Stop Button-->
<button onclick="stopTimer()">Stop</button>
Pomodoro时钟
计时器
开始
停止

下面的
formatTime
函数将花费数秒时间,并将其转换为MM:SS格式(包括填充的零):


首先,您必须使用
clearInterval
,然后您不会每秒更新
显示


请输入完整的代码(在您定义
显示的地方)。使用增量和减量更新时间是不精确的。用开始日期和当前日期的差异来代替。你能解释一下你做了什么以及为什么你认为这是答案吗?用一堆没有解释的代码来回答一堆没有问题的代码,感觉它没有长尾价值。
var time = 1500;
//Must declare timeHandler as global variable for stopTimer()
var timeHandler;
//Set intial HTML to time
document.getElementById("timer").innerHTML = display;

//Timer function for start button
function timer() {
  timeHandler = setInterval(function() {
    if (time > 0) {
      time--;
      document.getElementById("timer").innerHTML = formatTime(time);
    }
  }, 1000);
}

//Stop function for stop button
function stopTimer() {
  clearTimeout(timeHandler);
}

function formatTime(seconds) {
    //Timer Display 
    var minutes = seconds / 60; 
    var second = seconds % 60;
    return ('0'+minutes).substr(-2) +":"+ ('0'+seconds).substr(-2);
}