2010-01-29 7 views
3

J'ai une liste qui est caché en utilisant le code css {display: none;}incapable d'animation de la chaîne en jquery

maintenant je suis en utilisant le code jquery pour animer la liste (Li)

var numb = $("ol#update li").length; 
for(j=0; j < numb; j++) {      
    $("ol#update li").eq(j).animate({ 
    height: 'show', 
opacity: 'show' 
}, {duration:1000}); 
    } 

Je dois animer les éléments les uns après les autres

il y a un exemple dans ce page

mais toutes les années li sont en cours d'animation à la fois et je ne peux pas voir wh y.

Répondre

4

utiliser Juste ceci:

var $li = $("ol#update li"); 
function animate_li(){ 
    $li.filter(':first') 
     .animate({ 
     height: 'show', 
     opacity: 'show' 
     }, 1000, function(){ 
     animate_li(); 
     }); 
    $li = $li.not(':first'); 
} 
animate_li(); 

Fondamentalement, il saisit toutes les li s, puis un par un les anime en même temps, chaque itération supprime le premier élément de la liste.. Si vous voulez animer l'inverse, remplacez les deux occurences :first par :last.

+0

thats cool .... toute autre solution de contournement utilisant jquery chaînage ??? ou animer la file d'attente ??? –

+0

La file d'attente est définie par élément et non par collection par défaut. Donc, l'utilisation d'une file d'attente est hors de question pour la plupart. Il peut y avoir une abstraction de base de leur File d'attente que vous pourriez utiliser, mais je ne suis pas sûr, et cela impliquerait quand même une boucle au moins pour le configurer. –

+0

J'ai une autre question: - http://stackoverflow.com/questions/2408099/not-able-to-remove-nested-lists-in-a-jquery-variable –

Questions connexes