Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/03/2013, 15:11
Profesor_Lambetain
 
Fecha de Ingreso: septiembre-2010
Mensajes: 67
Antigüedad: 13 años, 8 meses
Puntos: 1
Anidamiento de setInterval/setTimeout ¿es posible?

Hola al foro:

Mi problema es cambiar cada 1 segundo una imagen (.JPG) en una celda de tabla, mientras se dé una determinada condición, imagen que actúa como botón/enlace para realizar una acción. Estas imágenes tienen la misma leyenda ("Fotoshow OFF") pero diferente color de fondo (la permutación de imágenes es para llamar la atención del usuario de que tiene una función activada, pero esto no hace al problema).

He intentado de varios modos, pero el que me parece más limpio y lógico es anidar un setTimeout dentro de un setInterval, con el siguiente código:

Código HTML:
...
var control1, control2;
control1=window.setInterval("if(document.forms[0].elements[10].value==1){document.images[1].src='FotoshowOFF.jpg';control2=window.setTimeout("document.images[1].src='FotoshowOFF-2.jpg';",1000)}else{clearInterval(control1);clearTimeout(control2);}",2000);
...
... pero... ¡ esto no funciona, y no puedo encontrar la razón !

La acción debe de ser ejecutada en segundo plano (por ello recurrí a setInterval/setTimeout), ya que la página debe realizar otras acciones mientras la permutación de imágenes se esté ejecutando. Por tanto, supongo que iteraciones con for, do/while, while, quedan excluidas.

¿Alguno de vosotros puede arrojar un poco de luz sobre este tema?

Gracias anticipadas.