如何在 Javascript 中制作毫秒计时器?
How to make a millisecond chronometer in Javascript?
我发现如何在 javascript(Jquery)(Jquery)中制作一个以毫秒为单位的时钟(参见代码片段),但我不知道如何制作一个仅以毫秒为单位的计时器。
我试图创建一个循环,将 1000 添加到 "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
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;
}
<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>
您可以在日期 API 中使用 getTime
函数,它是 1970/01/01 之后的 returns 毫秒数。
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);
}
我发现如何在 javascript(Jquery)(Jquery)中制作一个以毫秒为单位的时钟(参见代码片段),但我不知道如何制作一个仅以毫秒为单位的计时器。 我试图创建一个循环,将 1000 添加到 "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
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;
}
<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>
您可以在日期 API 中使用 getTime
函数,它是 1970/01/01 之后的 returns 毫秒数。
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);
}