Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/07/2002, 17:48
FlyOnWeb
 
Fecha de Ingreso: julio-2002
Mensajes: 4
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Imágenes Aleatorias

La solución que he usado siempre reside en el uso de la función
setTimeout(string rutina, int milisegundos)
que ejecuta "rutina" pasados "milisegundos".
En principio sólo conseguirías un retardo, pero, ¿y si "rutina" es una llamada a la propia función que contiene la llamada a setTimeout()? Voilá! Consigues un hilo de ejecución recursiva. Sólo tienes que llamar a esa función una vez aprovechando el disparo de cualquier evento (el propio evento onLoad de BODY, por ejemplo) y tendrás tus imágenes cambiando todo el tiempo. Sólo queda un pequeño detalle, llamar a su función "hermanita" clearTimeout() justo antes de cada llamada recursiva para reiniciar el contador ;P
Un consejo, créate un array de imágenes antes de comenzar donde almacenes todas tus imágenes.
Un ejemplo sencillo:

function muestraImagenes ()
{
if (i == imgArray.length)
i = 0;
document.images.miImagen.src = imgArray.src;
i++;

// Reiniciar el timer para llamar en 1000 milisegundos
clearTimeout(Clock);
Clock = setTimeout("muestraImagenes()", 1000);
}

Lo de imponer una condición de parada a las llamadas recursivas y otros detalles los dejo a tu imaginación ;)

Espero haberte sido de ayuda :)

Salud! Héctor