因此,我正在製作一個簡單的時鐘,它只是從靜態起點開始計算時間。問題是,當第二個標記點擊8時,它重置爲0.我不明白爲什麼。幫幫我!我的時鐘永遠不會超過8秒
這裏的時鐘:http://jsfiddle.net/Ender/jMbem/
下面是它的代碼:
HTML:
<h1>Mark's Busted Computer Clock</h1>
<div id="time">
<span id="hour">146</span>:<span id="minute">45</span>:<span id="second">00</span>
</div>
JS:
$(function() {
setInterval(UpdateSecond, 1000);
});
function UpdateSecond() {
var num = parseInt($('#second').text());
num++;
if (num == 60) {
num = 0;
UpdateMinute();
}
if (num < 10) {
num = "0" + num;
}
$('#second').text(num);
}
function UpdateMinute() {
var num = parseInt($('#minute').text());
num++;
if (num == 60) {
num = 0;
UpdateHour();
}
if (num < 10) {
num = "0" + num;
}
$('#minute').text(num);
}
function UpdateHour() {
$('#hour').text(parseInt($('#hour').text()) + 1);
}
順便說一句,你不能依賴於被調用的間隔功能正是每1秒。它會逐漸失去時間,並且如果瀏覽器被一些緩慢的腳本或插件阻止,很快就會失去時間。你通常應該從'new Date()。getTime()'中存儲一個'begin'時間,然後在每個間隔調用中查看'(new Date().getTime() - begin)/ 1000'來計算出多少秒自從時鐘開始以來已經過去了。 – bobince 2010-10-13 17:40:07