我写了以下函数:
function fill(value) {
return (value > 9) ? "" + value : "0" + value;
}
function fillMili(value) {
value %= 1000;
return (value <= 9) ? "00" + value :
(value <= 99) ? "0" + value :
"" + value;
};
function showClock() {
var now = new Date;
time = fill(now.getHours()) + " : " + fill(now.getMinutes()) + " : " + fill(now.getSeconds()) + " : " + fill(now.getMilliseconds());
document.getElementById("clock").innerHTML = time;
setTimeout("showClock()",1);
}
然后将函数放入body标签并创建一个div标签:
<body onload="showClock()">
<div id="clock">
</div>
该页面将显示一个精美的时钟。但是如果我改变这行代码
setTimeout("showClock()",1);
至
setInterval("showClock()",1);
浏览器将在加载此页面时冻结。
我知道该函数setTimeout()
将执行一次分配的函数,该函数setInterval()
将多次执行分配的函数。
我有 2 个问题:工作的onload
属性如何body
以及为什么该函数setInterval()
在此代码中不起作用?
更新:我想显示一个显示毫秒的时钟。该属性是否onload
重复该功能?