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('');
}
}
Yukarıdaki kod, Firefox'ta beklenenleri yapar. Her saniye "geri sayım" elemanında azalan bir sayı görüntülenir.Geri sayım sayacı Chrome/Safari'de tam olarak görüntülenmez, ancak Tamam seçeneğinde değil. Firefox'taki sorun yok.
Safari ve Chrome'da, kod düzgün şekilde çalışıyor, ancak ekran elemanı değişmiyor. Başka bir şey olursa (tarayıcı penceresini yeniden boyutlandırma gibi), öğeler düzgün bir şekilde güncellenir.
Bu, bir çeşit optimizasyon veya iş parçacığı tabanlı bir soruna benziyor, ancak bir çözüm bulamıyorum. Chrome, Safari ve Firefox'ta da benim için iyi çalışıyor.
benim için iyi çalışıyor krom http://jsfiddle.net/br4uK/ –
Benim için de iyi çalışıyor. Chrome ve Safari’nin hangi sürümünü kullanıyorsunuz? –
İlginç. JQuery'nin animasyon yığınıyla ilgili bir şey olabilir - Bu uyarıyı buldum: "requestAnimationFrame() öğesinin yapısı nedeniyle, bir setInterval veya setTimeout döngüsünü kullanarak animasyonları sıralamamalısınız." Bu nesne hareket etmiyor olsa da, diğer bazı nesnelerimiz ... –