Прочитайте комментарии к коду ниже;)
var container = $$('.container').setStyle('display','none'); //cache container (useful for the 'future' ;) )"
var mySlide= new Fx.Slide('hidden').hide();
$('toggle').addEvent('click', function(event){
event.stop();
container.setStyle('display','block'); //put it before the toggle
mySlide.toggle().chain(function(){ //at the end of the sliding, this callback will be called
if(!this.open){ //if it's closed
container.setStyle('display', 'none'); //hide the container
}
});
});
Демо: http://jsfiddle.net/amgyw/1/
.. кстати, вы также можете использовать собственный экземпляр элемента «slide», не объявляя var mySlide = ...
..like, то есть $('hidden').get('slide').toggle()