Javascript Second into Minutes:Seconds

时间:2015-11-10 20:27:37

标签: javascript

我正在制作一个需要在

中显示秒数的时钟

分:秒

格式。

我已经开发了一些用于显示的辅助功能,但我从未真正完成过显示。以下是我的一些代码:

    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>

2 个答案:

答案 0 :(得分:0)

下面的formatTime函数需要几秒钟,并将其转换为MM:SS格式(包括填充的零):

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);
}

答案 1 :(得分:0)

首先你必须使用clearInterval,然后你不会每秒更新display

check this fiddle out