<script>
window.onload=function(){
function nowTime(){
var s=0,m;
(function(){
s++;
m=Math.floor(s/60);
document.getElementById('t').innerHTML=(Math.floor(m/60))+':'+(m%60)+':'+(s%60);
setTimeout(arguments.callee,1000);
})();}
nowTime();}
</script>
<div id="t"></div>
这是为了计时,即计算经过的秒数 它显示在HH:MM:SS中 任何人都可以缩短它或加速它(我的意思是更好的表现)?
此代码每15分钟延迟100毫秒。以下答案具有类似的时间延迟。这段时间无关紧要。如果需要,可以很容易地校准时间。
答案 0 :(得分:2)
window.onload = function() {
var s = 0, m, el = document.getElementById('t');
(function next() {
el.innerHTML = ~~((m = ~~(++s / 60)) / 60) + ':' + (m % 60) + ':' + (s % 60);
setTimeout(next, 1000);
})();
}
arguments.callee
,不推荐使用。~~
。m = ~~(++s / 60)
的第一次使用中放置m
。然后你可以丑化它(154个字符):
window.onload=function(){var n,t=0,e=document.getElementById("t")
!function o(){e.innerHTML=~~((n=~~(++t/60))/60)+":"+n%60+":"+t%60,setTimeout(o,1e3)}()}
答案 1 :(得分:1)
-1行
window.onload = function () {
function nowTime() {
var s = 0,
m;
(function () {
m = Math.floor(s / 60);
document.getElementById('t').innerHTML = (Math.floor(m / 60)) + ':' + (m % 60) + ':' + (++s % 60);
setTimeout(arguments.callee, 1000);
})();
}
nowTime();
}
编辑:删除冗余功能定义&gt;打电话(共3行)
window.onload = function () {
var s = 0,
m;
(function () {
m = Math.floor(s / 60);
document.getElementById('t').innerHTML = (Math.floor(m / 60)) + ':' + (m % 60) + ':' + (++s % 60);
setTimeout(arguments.callee, 1000);
})();
}
答案 2 :(得分:1)
将所有内容写入一行将导致更少的行:
<script>window.onload=function(){function nowTime(){var s=0,m;(function(){s++;m=Math.floor(s/60);document.getElementById('t').innerHTML=(Math.floor(m/60))+':'+(m%60)+':'+(s%60);setTimeout(arguments.callee,1000);})();}nowTime();}</script><div id="t"></div>
答案 3 :(得分:0)
先生,先生:
var node=document.querySelector("#id");
var s=0,t={h:3600,m:60,s:1};
setInterval(function(){
var r=s++;
node.value=['h','m','s'].map(function(k){var v=Math.floor(r/t[k]);r-=v*t[k];return v+k;}).join("");
},1000);
我选择了一个输入元素来发送文本结果。我不确定您要定位的元素类型,因此如果需要,您可能需要更改为node.value
到node.textContent
。