Foros del Web » Programando para Internet » Javascript »

Imágenes que cambian cada cierto tiempo

Estas en el tema de Imágenes que cambian cada cierto tiempo en el foro de Javascript en Foros del Web. Hola! Necesito hacer una especia de galería de imágenes, que cambien cada x tiempo. He encontrado un código muy sencillito para ello, pero no consigo ...
  #1 (permalink)  
Antiguo 01/12/2011, 16:37
 
Fecha de Ingreso: diciembre-2011
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta Imágenes que cambian cada cierto tiempo

Hola! Necesito hacer una especia de galería de imágenes, que cambien cada x tiempo. He encontrado un código muy sencillito para ello, pero no consigo que repita la función cada tres segundos como le indico. Sé que el fallo será una tontería, pero no lo veo.. me podéis echar una mano??

function imagenes(){
var imagenes= new Array();
var contador=0;
//var imagen=document.getElementById("miImagen");
imagenes [0]="images/fotoCiencias.jpg";
imagenes [1]="images/fotoDerecho.jpg";
imagenes [2]="images/fotoEconomicas.jpg";
imagenes [3]="images/fotoEducacion.jpg";

setTimeout(function() {
var imagen = document.getElementById('miImagen');
var actual = contador > imagenes.length? 0: contador+1;
imagen.src = imagenes[actual];
contador = actual;
},3000);

}

En el HTML sólo tengo esto puesto

<img src="" alt="imagen1" id="miImagen" />

¿alguien me ayuda?
Gracias
  #2 (permalink)  
Antiguo 01/12/2011, 18:41
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 12 años, 9 meses
Puntos: 72
Respuesta: Imágenes que cambian cada cierto tiempo

Hay que cambiar algunas cosas, primero es mejor usar setInterval en vez de setTimeout, tambien hay que modificar un poco el operador if para reiniciar correctamente el recorrido de las imagenes.

Código Javascript:
Ver original
  1. function imagenes(){
  2. var imagenes= new Array();
  3. var contador=0;
  4. //var imagen=document.getElementById("miImagen");
  5. imagenes [0]="images/fotoCiencias.jpg";
  6. imagenes [1]="images/fotoDerecho.jpg";
  7. imagenes [2]="images/fotoEconomicas.jpg";
  8. imagenes [3]="images/fotoEducacion.jpg";
  9.  
  10. setInterval(function() {
  11. var imagen = document.getElementById('miImagen');
  12. var actual = contador >= (imagenes.length-1)? 0: contador+1;
  13. imagen.src = imagenes[actual];
  14. contador = actual;
  15. },3000);
  16. }

Con esto debe funcionar solo se necesita llamar a la función imagenes() en el evento onload de <body>. Además es conveniente colocar en el atributo src de <img> la primera imagen.

Código HTML:
Ver original
  1. <body onload="imagenes()">
  2. <img src="images/fotoCiencias.jpg" alt="imagen1" id="miImagen" />
  #3 (permalink)  
Antiguo 02/12/2011, 11:30
 
Fecha de Ingreso: diciembre-2011
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Imágenes que cambian cada cierto tiempo

Muchas gracias! Sabía que era poco lo que fallaba pero no lo veía!

Etiquetas: html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:15.