问题
I am using scriptaculous to perform a slidedown effect using the following code:
Effect.SlideDown('dom_element_id');
I then hide the button which initiates this effect using:
$('button_id').hide();
The issue is that the button is hidden before the animation effect is complete, I would like it to hide after the animation effect is complete. I could not find a callback parameter for Effect.SlideDown.
回答1:
You can pass the afterFinish option to pass a callback to be run after the effect has been completed.
Effect.SlideDown('dom_element_id', { afterFinish: function () {$('button_id').hide(); } } );
EDIT
Note that beforeFinish, afterFinish, beforeSetup, afterSetup, beforeUpdate and afterUpdate options can be used for any effects as they are part of Effect.Base.
Also see the official docs here.
来源:https://stackoverflow.com/questions/2330809/javascript-scriptaculous-effect-callback-function