2009-10-02 12 views
0

Je ne peux pas appeler le rappel après la fin de l'animation. Voici ma fonction d'animation:Pourquoi le callback que je passe à la méthode animate() de jQuery n'est-il pas appelé?

function animate(parentElement, callback) 
{ 
     parentElement.animate({ 
      "height" : "hide", "opacity" : 0.0 
     }, { duration : "slow"}, "linear", callback); 
} 

Et voici l'appeler:

animate($(this).parent(), function() { alert('test'); }); 

Alert ne montre pas, pourquoi?

+0

Pourquoi passez-vous '' duration: "slow"} 'comme second paramètre? Devrait juste être une chaîne, par ex. '" slow "', ou un nombre représentant une durée exacte en millisecondes. – Shog9

+0

Je m'en fous = – Ockonal

+0

Vous devriez probablement ... – Shog9

Répondre

3

Voici votre problème:

parentElement.animate({ 
     "height" : "hide", "opacity" : 0.0 
    }, { duration : "slow"}, "linear", callback); 

Ce second paramètre? It's supposed to be either a string or a number. Lorsque vous passez un objet, jQuery ne sait pas quoi en faire. Passez à ceci:

parentElement.animate({ 
     "height" : "hide", "opacity" : 0.0 
    }, "slow", "linear", callback); 

... et ça marchera très bien.

+0

Dead on. Je l'ai juste compris et je suis venu pour poster ... je vous prie d'être plus intelligent et plus rapide = P –

+0

Hm ... C'était vraiment mon problème. Merci. – Ockonal