You can pass a parameter afterFinishto pass a callback that will be triggered after the effect is complete.
Effect.SlideDown('dom_element_id', { afterFinish: function () {$('button_id').hide(); } } );
EDIT
, beforeFinish, afterFinish, beforeSetup, afterSetup, beforeUpdate afterUpdate, Effect.Base.
. .