2009-11-20 5 views
2

Ok donc j'ai une classe d'onglets défilante qui fonctionne bien, mais maintenant je veux cacher les commandes si elles ne peuvent pas défiler dans la direction où elles essayent d'aller. donc j'ai quelque chose comme ça;jquery animation done

function tab_left(){ 
    $(".tab_link").each(function(){ 
    //animation here 
    }); 
} 

Ensuite, je veux créer une fonction qui fera en sorte qu'aucun d'entre eux sont animés (parce que si elles sont la position il n'y aura pas correcte). Ensuite, il va fixer l'image à l'affichage ou non. Le problème que j'ai est de vérifier qu'aucun d'eux n'est animé. Toute aide est appréciée.

Répondre

8

Pour vérifier si un élément est que vous être animé pouvez le faire:

if($("#the-great-div").is(":animated")){ 
    alert("Yay!"); 
} 

Ou si vous le souhaitez, vous pouvez définir un rappel à appeler lorsque l'animation se fait: http://docs.jquery.com/Effects/animate

var finished = 0; 
var callback = function(){ 
    // Do whatever you want. 
    finished++; 
} 
$("#div").animate(params, duration, null, callback); 

Ce paramètre de rappel est généralement disponible dans toutes les fonctions d'animation, pas seulement animé. Enfin, si vous voulez garder une trace du nombre d'éléments terminés, une variable globale devrait faire (comme finished dans ce cas).

+0

Je sais comment vérifier si un élément est animé mais si son animation je le veux continuer à vérifier jusqu'à ce que l'élément ne soit pas animé pour exécuter la fonction qui vérifie sa position, ou juste pour exécuter la fonction après que l'animation soit complète être une meilleure solution. – ngreenwood6