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('');
}
}
El código anterior hace lo que se espera, en Firefox. Cada segundo se muestra un número decreciente en el elemento "cuenta regresiva".Temporizador de cuenta atrás no hace que la derecha en Chrome/Safari, pero está bien en Firefox
En Safari y Chrome, el código se ejecuta correctamente, pero el elemento en pantalla no cambia. Si sucede algo más (como cambiar el tamaño de la ventana del navegador), los elementos se actualizan correctamente mientras.
Parece una especie de problema de optimización o de subprocesos, pero no puedo encontrar una solución.
funciona bien para mí en Chrome http://jsfiddle.net/br4uK/ –
Funciona bien para mí también. ¿Qué versión de Chrome y Safari estás usando? –
Interesante. Podría tener algo que ver con la pila de animación de JQuery. Encontré esta advertencia: "Debido a la naturaleza de requestAnimationFrame(), nunca debes poner en cola animaciones usando setInterval o setTimeout loop." Aunque este objeto no está animando, algunos de nuestros otros objetos son ... –