在toggle()的mootools中链接事件

时间:2011-10-07 14:27:38

标签: mootools

我有特定div女巫的切换事件很好,
 这是演示 http://jsfiddle.net/b5SVg/9/ 麻烦的是我有一个外部容器,我需要在加载时隐藏并显示/隐藏切换。我的容器显示块首先发射,我需要它在切换时被击中。我知道你可能会认为我应该把容器放在切换器内但我不能因为FX.slide在溢出隐藏并具有位置的切换元素周围添加了div。我的容器必须留在原处。请指教

1 个答案:

答案 0 :(得分:2)

阅读以下代码的评论;)

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()