3

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.

Rob W
  • 341,306
  • 83
  • 791
  • 678
Hamish
  • 796
  • 2
  • 14
  • 25

1 Answers1

13

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.

m02ph3u5
  • 3,022
  • 7
  • 38
  • 51
Jonathan Fingland
  • 56,385
  • 11
  • 85
  • 79