La idea es la siguiente, crear un contador/timer que vaya de 0 a 1 y de 1 a 0, en forma indefinida, utilizando como intervalo el valor 0.1, es decir tendria que ir haciendo
0
0.1
0.2
0.3
...
0.9
1
comenzar a decrecer
0.9
0.8
...
0.2
0.1
0
y ahi de vuelta para arriba, el tiempo no importa, pueden ser 500ms, 1000ms ó 2000, la cosa es que se repita el ciclo
Hice las mil y un variantes, pero siempre fallaba algo, de los mejores resultados les paso este
Código HTML:
Ver original
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> //<![CDATA[ var i = 0; var e = ""; var sint; var sint2; var z = 9; function sube(){ if(i == 10){ document.getElementById("timer").innerHTML=1; e = i; corre(); }else{ document.getElementById("timer").innerHTML='0.'+i; i++; } } function baja(){ if(z == 0){ document.getElementById("timer").innerHTML=0; e = ''; corre(); }else{ document.getElementById("timer").innerHTML='0.'+z; z--; } } function corre(){ if(e != ''){ clearInterval(sint); sint2=setInterval("baja()",1000); }else{ if(i < 11){ clearInterval(sint2); sint=setInterval("sube()",1000); } } } window.onload = corre; //]]> </script> </head> <body> </body> </html>
cuando se ejecuta, empieza en 0, llega al 1, baja al 0....pero, ahi emppieza a alternar entre 0 y 1, de lo que se deduce que lo que la script hace en ese punto es alternar entre
document.getElementById("timer").innerHTML=1;
y
document.getElementById("timer").innerHTML=0;
lo que indica que los clearInterval no estarían funcionando y que las funciones sube() y baja() siguen ejecutándose con los valores de z e i clavados en 0 y 10 respectivamente.
A lo mejor con un pequeño toque (pequeño para quién sepa hacerlo) se corrije, o a lo mejor tomé el camino equivocado y hay que hacer otra cosa.
Como la criatura me superó, espero que algún padrino, se haga cargo
Saludos