6
function countDownRound() {
if(myRoundTimeRemaining >= 0){
var secs = myRoundTimeRemaining;
if(secs < 10)
{
secs = "0" + secs;
}
$("#countdown").html(':'+secs);
CountdownTimer = setTimeout(countDownRound, 1000);
myRoundTimeRemaining--;
}
else{
$("#countdown").html('');
}
}
上述代碼符合Firefox的預期。 「倒計時」元素中每秒顯示一個遞減的數字。倒計時計時器在Chrome/Safari上不能正確顯示,但在Firefox上正常運行
在Safari和Chrome上,代碼正常運行,但屏幕上的元素不會更改。如果發生其他事情(例如調整瀏覽器窗口大小),元素會在正確更新時進行更新。
這看起來像某種優化或基於線程的問題,但我找不到解決方案。
適合我在鉻上工作正常http://jsfiddle.net/br4uK/ –
對我來說也適合我。你使用的是什麼版本的Chrome和Safari? –
有趣。它可能與JQuery的動畫堆棧有關 - 我發現這個警告:「由於requestAnimationFrame()的本質,你不應該使用setInterval或setTimeout循環來排列動畫。」雖然這個對象不是動畫,但我們的其他一些對象是... –