2010-02-25 22 views
3

J'utilise scriptaculous pour effectuer un effet slideDown en utilisant le code suivant:Javascript - Scriptaculous - Effet Fonction de rappel

Effect.SlideDown('dom_element_id'); 

Je me cache alors le bouton qui déclenche cet effet en utilisant:

$('button_id').hide(); 

Le problème est que le bouton est caché avant que l'effet d'animation est terminée, je voudrais qu'il se cache après l'effet de l'animation est terminée. Je n'ai pas pu trouver un paramètre de rappel pour Effect.SlideDown.

Répondre

13

Vous pouvez passer l'option afterFinish pour passer un rappel à exécuter une fois l'effet terminé.

Effect.SlideDown('dom_element_id', { afterFinish: function() {$('button_id').hide(); } }); 

EDIT

Notez que beforeFinish, afterFinish, beforeSetup, afterSetup, beforeUpdate et afterUpdate options peuvent être utilisées pour les effets qu'ils font partie de Effect.Base.

Also see the official docs here.

+0

merci beaucoup Impressionnant – Hamish

+0

Cette réponse m'a sauvé un certain temps, merci. Ajout du lien doc pour l'améliorer davantage. – m02ph3u5