Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/08/2012, 03:10
gebremswar
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 9 meses
Puntos: 57
Información Respuesta: Repetir galeria aleatoria en javascript

Hola davy0324, que tal.

Cita:
Iniciado por davy0324 Ver Mensaje
tengo esta galeria, el problema es que cuando acaba de elegir todas las iamgenes al azar, se detiene, como hago para que vuelva y se repita indefinidamente?
Sin tocar mucho tu código. Puedes solucionar lo de "repetir" de la siguiente manera.

Código Javascript:
Ver original
  1. $(function(next) { 
  2.     $('#slideshow img').not(':random').hide(); //hide all images except one initially
  3.     setInterval(function(){
  4.         $('#slideshow img:visible').fadeOut('slow')
  5.         .siblings('img:random').fadeIn('slow')
  6.         .end().appendTo('#slideshow');
  7.     }, 5500);
  8.     next();
  9. });
Atento en la linea 1 y la 7.

Cita:
Iniciado por davy0324 Ver Mensaje
- si es posible, que las imagenes esten centradas, y que la primera imagen aleatoria aparezca con un fade in, o opacidad 0 a 100, pero sobre todo lo de repetir el ciclo.
Lo del "centrado" es cosa de CSS para tu caso, prueba con quitar esta linea:
Código CSS:
Ver original
  1. #slideshow-container img { position:absolute }
y agrega la siguiente:
Código CSS:
Ver original
  1. #slideshow { text-align:center }

Todo depende de tu maquetacion y también debes asegurarte de que todas tus imagenes sean del mismo tamaño o al menos que asi se presenten. Te dejo este link CSS.

Finalmente para que la primera imagen se muestre con el efecto. Debes ocultar todas ( agrega style="display:none" a todas las imagenes )
Código HTML:
Ver original
  1. <img src="http://davy0324.netne.net/dummys/dummy1.jpg" style="display:none">
y mostrar la primera (linea 2).

Código Javascript:
Ver original
  1. $(window).load(function(){
  2.     $('img:random').fadeIn('slow');
  3. })
  4. $(function(next) {     
  5.     setInterval(function(){
  6.         $('#slideshow img:visible').hide()
  7.         .siblings('img:random').fadeIn('slow')
  8.         .end().appendTo('#slideshow');
  9.     }, 5500); //5 second interval
  10.     next();
  11. });
No lo he probado, si estaba funcionando bien el slideshow excepto por lo que nos comentaste ya no deberias tener problemeas.

Aplicarlo y coméntanos.

<!-- EDITO-->

Te dejo estos plug-ins slideshow

<!-- /EDITO-->

Última edición por gebremswar; 17/08/2012 a las 04:42