Ver Mensaje Individual
  #11 (permalink)  
Antiguo 16/03/2013, 02:04
Avatar de caricatos
caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 10 meses
Puntos: 1284
Respuesta: Anidamiento de setInterval/setTimeout ¿es posible?

Hola:

Viendo el código me parece que es demasiado extenso... además, si terminar la temporización solo depende del campo del formulario, con una sola condición bastaría; y poner argumento a la función no parece buena idea... otra cosa, los campos de formulario son cadenas y no números, así que lo correcto es entrecomillarlo (aunque evidentemente pueda parecer innecesario):

Código:
h = 0;
fotos = ["FotoshowOFF.jpg" ,"FotoshowOFF-2.jpg"];
function changeimage() {
	if(document.forms[0].elements[10].value != "1")
		clearInterval(control)
	else
		document.images[1].src=fotos[++h % 2];
}
control = setInterval(changeimagen, 1500);
Te comento la idea:

No parece que importe entre alternar 1 y 2 o entre 0 y 1; además, si dividimos cualquier número entre 2, obtendremos dos posibles valores: 0 y 1; así que ¿por qué no, tan solo incrementamos un número entre 2 y rescatamos el resto y lo usamos para obtener uno de los dos valores de un array de dos elementos...

Fíjate sobre todo en la idea de usar menos condiciones.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 16/03/2013 a las 02:07 Razón: error leve en código