Oh, oh!!! Creo que nos enfrentamos ante un código a medio hacer.
Código HTML:
<html>
<head>
<script type="text/javascript">
tiempo=false;
function faltan(id){
if(!tiempo){
tiempo = document.getElementById(id).innerHTML;
}
if (tiempo>0){
tiempo=tiempo-1;
var horas = Math.floor(tiempo/3600);
var minutos = Math.floor(tiempo/60)-60*horas;
var segundos = tiempo%60;
if(minutos<10){minutos = "0" + minutos;}
if(segundos<10){segundos = "0" + segundos;}
var resultado = horas + ":" + minutos + ":" + segundos ;
document.getElementById(id).innerHTML = resultado;
setTimeout("faltan('"+id+"')",1000);
}else{
window.location.href = location.href;
}
}
</script>
</head>
<body>
<div id="txt1">10</div><script type="text/javascript">faltan("txt1");</script>
<div id="txt2">15</div><script type="text/javascript">faltan("txt2");</script>
</body>
</html>
Fijaros en las líneas
Código HTML:
<div id="txt1">10</div><script type="text/javascript">faltan("txt1");</script>
<div id="txt2">15</div><script type="text/javascript">faltan("txt2");</script>
Terminan generando la sigueinte cuenta atrás:
1er segundo:9
8
2º segundo7
6
3er segundo5
4
Se saltan un segundo entre medias. ¿Cual es el problema?