Foros del Web » Programando para Internet » Javascript »

SlideShow [duda]

Estas en el tema de SlideShow [duda] en el foro de Javascript en Foros del Web. Buenas recurro a uds ya que tengo una duda que me tiene un poco retrasado, quisiera saber como hago para utilizar 2, slideshow a la ...
  #1 (permalink)  
Antiguo 12/07/2010, 19:05
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
De acuerdo SlideShow [duda]

Buenas recurro a uds ya que tengo una duda que me tiene un poco retrasado, quisiera saber como hago para utilizar 2, slideshow a la vez es decir 2 transiciones de imagenes yo utilizo este codigo:

<head>

<!--- SlideShow --->
<script language="JavaScript">
var slideShowSpeed = 2500;
var crossFadeDuration = 3;
var Pic = new Array();
Pic[0] = 'Fotos/1.jpg'
Pic[1] = 'Fotos/2.jpg'
Pic[2] = 'Fotos/3.jpg'
Pic[3] = 'Fotos/4.jpg'
Pic[4] = 'Fotos/5.jpg'
Pic[5] = 'Fotos/6.jpg'
Pic[6] = 'Fotos/7.gif'
var t;
var j = 0;
var p = Pic.length;
var preLoad = new Array();
for (i = 0; i < p; i++) {
preLoad[i] = new Image();
preLoad[i].src = Pic[i];
}
function runSlideShow() {
if (document.all) {
document.images.SlideShow.style.filter="blendTrans (duration=2)";
document.images.SlideShow.style.filter="blendTrans (duration=crossFadeDuration)";
document.images.SlideShow.filters.blendTrans.Apply ();
}
document.images.SlideShow.src = preLoad[j].src;
if (document.all) {
document.images.SlideShow.filters.blendTrans.Play( );
}
j = j + 1;
if (j > (p - 1)) j = 0;
t = setTimeout('runSlideShow()', slideShowSpeed);
}
</script>

</head>

<body onload="runSlideShow()">

<img border="0" width="400" height="300" name='SlideShow'>

</body>
<!-- SlideShow Fin -->

Pero la verdad no se que tengo que cambiar para poder utilizarlo 2 veces en la misma pag se poco de javascript. a ver quien me da una mano
  #2 (permalink)  
Antiguo 16/07/2010, 15:10
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: SlideShow [duda]

Nadie sabe??? =S
  #3 (permalink)  
Antiguo 16/07/2010, 16:01
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
Respuesta: SlideShow [duda]

mmmmm..... rayos!! O_o

pufff..... por donde comenzar, bueno van mis consejos:

1.- Encapsula tu código
2.- Utiliza correctamente el scope
3.- Utiliza prototipos (clases)
4.- No "hardcodees" las imágenes que quieres utilizar
5.- Utiliza correctamente el setTimeout
6.- No escribas código solo para IE

Tomando en cuenta esos consejos te pongo un pequeño ejemplo para darte una idea:

Código Javascript:
Ver original
  1. var Slideshow = function(options){
  2.      this.images = options.images;
  3.      this.duration = options.duration;
  4.      this.speed = options.speed;
  5.  
  6.      this.loadImages();
  7.      this.start();
  8. }
  9.  
  10. Slideshow.prototype = {
  11.      loadImages   : function(){
  12.           var p = this.images.length,
  13.                 preLoad = [];
  14.            for (var i = 0; i < p; i++) {
  15.                var img = new Image();
  16.                img.src = this.images[i];
  17.                preLoad.push(img);
  18.           }
  19.      },
  20.  
  21.      start   : function(){
  22.           var me = this;
  23.           this.j = 0;
  24.           this.thread = setInterval(function(){
  25.                me.run.call(me,me.j++);
  26.           },this.speed);
  27.      },
  28.  
  29.       run   : function(){
  30.           //aqui el código de animación
  31.           //te lo dejo de tarea :)
  32.  
  33.           if(this.j > this.images.length){
  34.                //ya terminó!
  35.                this.stop();
  36.           }
  37.       },
  38.  
  39.       stop   : function(){
  40.           clearInterval(this.thread);
  41.           this.j = 0;
  42.       }
  43. }
  44.  
  45.  
  46.  
  47. window.onload = function(){
  48.      
  49.      var slide1 = new Slideshow({
  50.           images    : ["images/image1.jpg","images/image2.jpg","images/image3.jpg"],
  51.           speed      : 2500,
  52.           duration  : 3
  53.      });
  54.  
  55.  
  56.      var slide2 = new Slideshow({
  57.           images    : ["images/image4.jpg","images/image4.jpg","images/imageN.jpg"],
  58.           speed      : 2500,
  59.           duration  : 3
  60.      });
  61.  
  62.  
  63. }


Por ultimo te aconsejo estar atento al desafío que se esta llevando acabo aqui en el foro de javascript: http://www.forosdelweb.com/f13/nuevo...agenes-822449/

Los participantes haremos un Slideshow con transiciones interesantes :)

Saludos

PD: No he probado el código, espero y te de una idea

Etiquetas: slideshow
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 12:32.