Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/10/2015, 14:24
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Animar array con tiempo entre elementos

Bienvenido a Foros del Web.

Eso ocurre porque el método se aplica a todos los elementos, sin embargo, no se establece un orden de ejecución, por lo que el efecto se produce en todos a la vez.

Una manera de hacer esto es mediante el uso de temporizadores:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     var divs = $(".col-central div"),
  3.         total = divs.length,
  4.         i = 0,
  5.         countdown = setInterval(function(){
  6.             $(divs[i++]).fadeOut();
  7.             if (i == total){
  8.                 clearInterval(countdown);
  9.             }
  10.         }, 1000);
  11. });

Lo que realiza el script de arriba es lo siguiente:
  1. Toma al conjunto de elementos sobre el cual se operará.
  2. Calcula el total de ellos.
  3. Establece una variable contadora para llevar un control de los elementos.
  4. Establece un temporizador cíclico el cual ejecutará una función cada 1000 milésimas de segundo (1 segundo).
  5. En la función, ocultamos al elemento actual y aumentamos el valor del contador en uno.
  6. Verificamos si el valor actualizado del contador es igual al total de elementos. De ser así, cancelamos al temporizador, caso contrario, se seguirá ocultando a los siguiente elementos (los que queden).

DEMO

Cabe señalar que el temporizador se ejecuta de forma automática.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand