如何在Javascript中制作毫秒计时器?

时间:2017-12-07 17:51:12

标签: javascript jquery milliseconds chronometer

我发现如何在javascript(Jquery)中制作一个毫秒的时钟(参见片段),但我无法弄清楚如何制作一个只有毫秒的计时器。 我试图创建一个循环,将值加到" milli"但我的病情永远不会完全发挥作用



// START CLOCK SCRIPT

Number.prototype.pad = function(n) {
  for (var r = this.toString(); r.length < n; r = 0 + r);
  return r;
};

function updateClock() {
  var now = new Date();
  var milli = now.getMilliseconds(),
    sec = now.getSeconds(),
    min = now.getMinutes(),
    hou = now.getHours(),
    mo = now.getMonth(),
    dy = now.getDate(),
    yr = now.getFullYear();
  var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
  var tags = ["mon", "d", "y", "h", "m", "s", "mi"],
    corr = [months[mo], dy, yr, hou.pad(2), min.pad(2), sec.pad(2), milli];
  for (var i = 0; i < tags.length; i++)
    document.getElementById(tags[i]).firstChild.nodeValue = corr[i];
}

function initClock() {
  updateClock();
  window.setInterval("updateClock()", 1);
}

// END CLOCK SCRIPT
&#13;
body {background-color:#666;}

#timedate {
  font: small-caps bold 43px/150% Arial, Helvetica, sans-serif;
  text-align:left;
  width: 50%;
  margin: 20px auto;
  color:#333;
  border-left: 20px solid yellow;
  padding: 20px;
}
&#13;
<body onLoad="initClock()">

  <div id="timedate">
    <a id="mon">January</a>
    <a id="d">1</a>,
    <a id="y">0</a><br />
    <a id="h">12</a> :
    <a id="m">00</a>:
    <a id="s">00</a>:
    <a id="mi">000</a>
  </div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

您可以在Date API中使用getTime函数,它会在1970/01/01之后返回毫秒数。

function updateClock(initTime) {
  var now = new Date();
  var milli = now.getTime() - initTime;
  document.getElementById('timedate').innerHTML = milli;
}

function initClock() {
  var initTime = new Date().getTime();
  updateClock();
  window.setInterval(updateClock, 1, initTime);
}