var startTime;
var timer;
function displayTime() {
var now = new Date();
var timeDiff = new Date(now - startTime); // constructor uses UTC, so use UTC date functions from here on
var hours = timeDiff.getUTCHours();
var mins = (timeDiff.getUTCMinutes() < 10) ? '0' + timeDiff.getUTCMinutes() : timeDiff.getUTCMinutes();
var secs = (timeDiff.getUTCSeconds() < 10) ? '0' + timeDiff.getUTCSeconds() : timeDiff.getUTCSeconds();
document.getElementById('time').innerHTML = hours + ':' + mins + ':' + secs;
if (hours >= 2) clearInterval(timer);
}
window.onload = function() {
startTime = new Date();
timer = setInterval(displayTime, 1000);
}
は、startTime
はまだ、元の時間でなければなりません。眠っている間はディスプレイを更新する必要はありません。元の開始時刻からの時間を知る必要があります。
だから、私は前にこのように構成されていたが、あなたの方法を使用してにロジックを渡す方法を確認するために失敗しています: 機能タイマ(){ \t するvar digiformat =「」; \t if(i> 3599) \t {\t var H = Math.floor(i/3600); \t \t var H = Math.floor(i/3600);他 \t} \t \t { \t \t VARのH = 0。 \t} \t \tするvar M = I - (H * 3600) \t \t \t {\t \t M = Math.floor(M/60) \t} 他\t(M> 59)場合\t { \t \t M = 0 \t} \t \tするvar S = I - (M * 60)\t \t if(H <10) \t { \t \t H = "0" + H; \t} \t IF(M <10) \t {\t \t M = "0" + M。 \t} \t(S <10) \t {\t \t S = "0" + Sであれば、\t} \t document.getElementById( 'time')。innerHTML = H + ":" + M + ":" + S; exe = setTimeout( 'timer()'、1000); i ++; \t if(H> = 2){ \t \t clearTimeout(exe); \t} \t } –
SO SORRY!私はあなたが読めるように自分の答えをうまく整える方法を知らない。 –
@Ben - 問題ない、これが助けてくれることを願う。私は表示のために 'timeDiff'を解析するための例を更新しました。 – nekno