Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/04/2012, 22:47
pistonasos
 
Fecha de Ingreso: julio-2009
Ubicación: La Plata
Mensajes: 233
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Transición de cinco imágenes.

Actualmente tengo un problema parecido. También tengo planeado algo, pero no me puse a implementarlo todavía: En primer lugar tendrías que hacerte una función que sea capaz de cambiar la opacidad de las imágenes. Bueno, medio obvio, pero a ésta función le tendrías que agregar un extra. Es decir, suponete que tenés una función así:
Código Javascript:
Ver original
  1. function opacidad(arrEle,vel,extra)
  2. {
  3.   for(i=0;i<arrEle.length;i++)
  4.      {
  5.         opAct=parseFloat(arrEle[i].style.opacity)
  6.         if(opAct>=1)
  7.          {
  8.             extra()
  9.             return 0
  10.          }
  11.         arrEle[i].style.opacity=opAct+vel
  12.      }
  13. setTimeout("opacidad(arrEle,vel,extra)",10,arrEle,vel,extra)
  14. }
  15. // Así se llamaría a la función.
  16. opacidad(conjImg1,-0.01,function(){opacidad(conjImg2,0.01,function(){return 0}})
Entonces, esto haría que se desvanezca el conjunto de imágenes que halla en el div y que al terminar aparezca el conjunto de imágenes al que le toca, de lo que se encarga el extra. Por lo menos así me manejo yo cuando le tengo que decir a un script que cuando termine de ejecutarse haga tal cosa: con un extra.
La otra es con los return 0 y los if:

Código Javascript:
Ver original
  1. function opacidad(arrEle,vel)
  2. {
  3.   for(i=0;i<arrEle.length;i++)
  4.      {
  5.         opAct=parseFloat(arrEle[i].style.opacity)
  6.         if(opAct>=1)
  7.          {
  8.             return 0
  9.          }
  10.         arrEle[i].style.opacity=opAct+=vel
  11.      }
  12. }
  13.  
  14. function cambiaOp()
  15. {
  16.   if(opacidad(conjImg1,-0.01)==0)
  17.   {
  18.      if(opacidad(conjImg2,0.01)==0)
  19.       {
  20.          return 0
  21.       }
  22.   }
  23.  setTimeout(cambiaOp,10)
  24. }

Bueno, las funciones son medias sucias, pero con un poco de ingenio y POO se puede hacer algo elegante.