javascriptprototypejsscriptaculous

Javascript - Scriptaculous - Effect Callback function


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.


Solution

  • 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.