我想写一个计数器,每秒,每分钟,每小时和每天计算我。它不应该从0开始,而是从2分钟开始。现在我有以下代码,但它似乎并不正确。我是初学者并试图了解JS。提前感谢您的帮助和帮助!
<!doctype html>
<html>
<head>
<title>Counter</title>
<script>
start=new Date().getTime()-120000;
function updateCounter() {
var dif=new Date().getTime()-start;
setTimeout(updateCounter, 1000-(dif%1000));
var sec=Math.floor(dif/1000);
var min=Math.floor(sec/60);
var hou=Math.floor(min/60);
var day=Math.floor(hou/24);
sec %= 60;
if (sec<10) {
sec="0"+sec;
}
document.getElementById("counter").innerHTML=day+":"+hou+":"+min+":"+sec;
}
</script>
</head>
<body onload="updateCounter();">
<p id="counter"></p>
</body>
</html>
答案 0 :(得分:0)
抱歉,我不知道我不能把代码放回评论的回复中。所以这是我改进的代码。问题是,我不知道如何从24小时切换到1天。现在它计算1day24h0m0sec。但它应该是1day0h0m0sec。
<!doctype html>
<html>
<head>
<title>Counter</title>
<script>
var start=new Date().getTime()-86400000;
function updateCounter() {
var dif=new Date().getTime()-start;
setTimeout(updateCounter, 1000-(dif%1000));
var sec=Math.floor(dif/1000);
var min=Math.floor(sec/60);
var hou=Math.floor(min/60);
var day=Math.floor(hou/24);
sec %= 60;
if (sec<10) {
sec="0"+sec;
}
min %= 60;
if (min<10) {
min="0"+min;
}
hou %= 60;
if (hou<10) {
hou="0"+hou;
}
day %= 24;
if (day<10) {
day="0"+day;
}
document.getElementById("counter").innerHTML=day+":"+hou+":"+min+":"+sec;
}
</script>
</head>
<body onload="updateCounter();">
<p id="counter"></p>
</body>
</html>