Cita:
Iniciado por Albuss ¿
por que?
Si llamamos varias veces a una función que crea un intervalo, y luego llamamos las
mismas veces a otra funcion para limpiar el intervalo , las multiples llamadas a ese
cleanInterval son superfuas,
no funcionan, ¿
por que?
Ejemplo interactivo :
http://www.vodoad.com/basf.html
Ps. Pulsa una vez a la funcion que crea un intervalo y luego pulsa una vez a la funcion que "limpia" el intervalo, veras que todo funciona bien, ahora pulsa 1+ veces la funcion que crea un intervalo y pulsa las mismas veces la funcion para "limpiarlo" veras que ya no funciona correctamente.
@Albuss
Analicemos tu código, primero, cambias el color, pero una vez cambiado queda ahi, no se vuelve a cambiar con una condición
if style.color == algo
style.color = otra cosa ...
ok?
Segundo setTimeout demora la ejecución de la función x milisegundos, pero no la repite, salvo que hagas algo como
Código Javascript
:
Ver originalfunction rotate(){
if (imagen_num > 3) {
imagen_num = 0;
}
img = document.Source;
img.src =img_array[imagen_num];
imagen_num++;
var t=setTimeout('rotate()',1000);
}
es decir que una función se llama a si misma.
Tu ejemplo, corregido el tema de cambio de colores, se aplicaría tal vez si utilizases setInteval(), que si repite una función indefinidamente
SAludos