Foros del Web » Programando para Internet » Jquery »

jQuery each

Estas en el tema de jQuery each en el foro de Jquery en Foros del Web. Hola Estoy intentando hacer un bucle sobre los elementos de una lista, para aplicarles una serie de efectos. Este es el código: Código: <input id="boton" ...
  #1 (permalink)  
Antiguo 23/04/2011, 14:03
Avatar de diphda  
Fecha de Ingreso: abril-2011
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta jQuery each

Hola
Estoy intentando hacer un bucle sobre los elementos de una lista, para aplicarles una serie de efectos. Este es el código:
Código:
<input id="boton" type="submit" value="Aceptar"/>
<ul id=lista>
    <li id=0>
      Uno
    </li>
    <li id=1>
      Dos
    </li>
    <li id=2>
      Tres
    </li>
    <li id=3>
       Cuatro
     </li>
  </ul>
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.      $(function(){
  3.          $("#boton").click(function(event){
  4.             event.preventDefault();
  5.             $("li").each(function(i){
  6.                  $(this).fadeOut(1000);
  7.                  $(this).delay(1000);
  8.                  $(this).fadeIn(1000);
  9.             })
  10.          })
  11.      })

El caso es que por más que le doy vueltas, todas las opciones me dan el mismo resultado, es decir, que se ocultan todos los elementos de la lista a la vez, y se muestran después todos a la vez y lo que yo quiero es que primero se oculte el primer elemento (fadeOut), haga el delay y se muestre (fadeIn), pero que el resto no haga nada todavía; después que continúe con el segundo elemento (fadeOut, delay, fadeIn), etc.

Con un bucle for el resultado es el mismo, en lugar de hacer todas las funciones para un elemento y seguir en el siguiente, hace la primera función para todos los elementos (fadeOut) y luego la segunda (delay) para todos y luego la tercera (fadeIn) para todos

gracias
saludos
  #2 (permalink)  
Antiguo 23/04/2011, 21:45
Avatar de Danielfuzz  
Fecha de Ingreso: septiembre-2007
Mensajes: 111
Antigüedad: 17 años, 2 meses
Puntos: 18
Respuesta: jQuery each

hola diphna, intenta con este script:

Código:
<script type="text/javascript">
	var i=0;
	 $(function(){
         $("#boton").click(function(event){ 	
            	event.preventDefault();
				animar(i);
            })
         })
	function animar(i)
	{
		var actual=$("li")[i];
		if(actual!=undefined)
			$(actual).fadeOut(1000).delay(1000).fadeIn(1000, function(){animar(i+1);});
	}
</script>
Suerte!!


P.D.:
No olvides el Karma (click en "Me gustó, ¡gracias!" en la parte de abajo de este mensaje)
  #3 (permalink)  
Antiguo 24/04/2011, 07:17
Avatar de diphda  
Fecha de Ingreso: abril-2011
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 1
Sonrisa Respuesta: jQuery each

Maravilloso!!!
mil gracias
saludos

Etiquetas: bucles
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:56.