mootools 中的toggle() 链接事件

发布于 2024-12-08 19:44:02 字数 267 浏览 0 评论 0原文

我在特定 div 上有一个切换事件,效果很好,
这是演示 http://jsfiddle.net/b5SVg/9/ 问题是我有外部容器,需要在加载时隐藏并在切换时显示/隐藏。目前,我的容器显示块首先触发,我需要通过切换来启动它。我知道您可能认为我应该将容器放在切换中,但我不能,因为 FX.slide 在切换元素周围添加了 div,该元素是溢出隐藏的并且具有位置。我的容器必须留在原处。请指教

I have a toggle event on specific div witch works fine ,
here is the demo
http://jsfiddle.net/b5SVg/9/
the trouble is that I have the outside container that I need to hide on load and show/hide on toggle. CUrrently my container display block fires first and I need it to be sinced wht the toggle. I know you might think that i should put the container inside the toggle but i cant since the FX.slide adds div around toggle element which is overflow hidden and has position . my container must stay where it is. Please advise

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

虫児飞 2024-12-15 19:44:02

请阅读下面代码的注释;)

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/

..btw,您还可以使用“slide”的元素正确实例,而无需声明 var mySlide = ... ..就像 ie $('hidden').get('slide').toggle()

Read the comments on the code below ;)

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
        }
    });

});

Demo: http://jsfiddle.net/amgyw/1/

..btw you also can use the element proper instance of 'slide', without declaring var mySlide = ... ..like i.e. $('hidden').get('slide').toggle()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文