Javascript计时器只需几分钟和几秒钟

时间:2013-10-17 14:43:51

标签: javascript timer jsfiddle stopwatch

我找到了一个带有计时器的JSFiddle,每秒计时一次。 除了我希望这只与分钟和秒钟一起工作。没有时间。

有什么想法吗?

5 个答案:

答案 0 :(得分:7)

  • DATE_OBJ.getSeconds()获取Date对象的秒数。
  • DATE_OBJ. getMinutes()获取Date对象的分钟数。
  • setInterval每秒钟后调用处理函数(1000ms)。

var handler = function() {
  var date = new Date();
  var sec = date.getSeconds();
  var min = date.getMinutes();
  document.getElementById("time").textContent = (min < 10 ? "0" + min : min) + ":" + (sec < 10 ? "0" + sec : sec);
};
setInterval(handler, 1000);
handler();
<h1 id="time" style="text-align: center"></h1>

答案 1 :(得分:6)

这是一种非常黑客的做法 - http://jsfiddle.net/gPrwW/1/

HTML -

<div id="worked">31:14</div>

JS:

$(document).ready(function (e) {
    var $worked = $("#worked");

    function update() {
        var myTime = $worked.html();
        var ss = myTime.split(":");
        var dt = new Date();
        dt.setHours(0);
        dt.setMinutes(ss[0]);
        dt.setSeconds(ss[1]);

        var dt2 = new Date(dt.valueOf() + 1000);
        var temp = dt2.toTimeString().split(" ");
        var ts = temp[0].split(":");

        $worked.html(ts[1]+":"+ts[2]);
        setTimeout(update, 1000);
    }

    setTimeout(update, 1000);
});

答案 2 :(得分:4)

处理此问题的确切方法如下:

  1. 存储脚本开始的时间
  2. 在一个被重复调用的函数中获取已经过去的时间
  3. 以您想要的任何格式转换已用时间并显示
  4. 示例代码:

    var initialTime = Date.now();
    
    function checkTime(){
      var timeDifference = Date.now() - initialTime;
      var formatted = convertTime(timeDifference);
      document.getElementById('time').innerHTML = '' + formatted;
    }
    
    function convertTime(miliseconds) {
      var totalSeconds = Math.floor(miliseconds/1000);
      var minutes = Math.floor(totalSeconds/60);
      var seconds = totalSeconds - minutes * 60;
      return minutes + ':' + seconds;
    }
    window.setInterval(checkTime, 100);
    

    您可以轻松更改检查时间的粒度(当前设置为0.1秒)。此计时器的优点是更新时永远不会失去同步。

答案 3 :(得分:2)

您可以创建一个在每次调用时递增计数器的函数,将值显示为: 计数器/ 60分钟,计数器%60秒

然后,您可以使用setInterval函数让JavaScript每秒调用您的代码。它不是非常精确,但它对于简单的计时器来说已经足够了。

答案 4 :(得分:0)

这可能是什么? plain count up timer in javascript

它基于setInterval方法

setInterval(setTime, 1000);