在slideDown之后,Jquery slideUp菜单消失

时间:2011-11-30 22:16:41

标签: jquery

我正在处理一个菜单,当我点击一个锚点<a>时,它应该向下滑动,当我点击页面的<body>时它应该向上滑动{{1} }标签包含在正文中)。 我目前正在使用jQuery。

问题是,在前两次点击后(标签结果首先出现:菜单出现;第二次点击<a>),菜单消失,但当我再次点击<body>时标签菜单同时向下滑动?

以下是代码:

<a>

3 个答案:

答案 0 :(得分:1)

单击a时,需要停止点击事件的传播。

$('.sch_option a').click(function(e) {
     e.stopPropagation();
     $('.sch_option .sch_more_option_extend').slideDown(150); 
});

$('body').click(function(){
        $('.sch_option .sch_more_option_extend').slideUp(100);
});

答案 1 :(得分:0)

一遍又一遍地绑定body相同的功能。首先尝试取消绑定;

$('body').unbind('click').click(function(){
    $('.sch_option .sch_more_option_extend').slideUp(100);
}); 

答案 2 :(得分:0)

您无法真正使用$('body').因为您的菜单已经是body的孩子,您可以做的是跟踪点击的offset,然后隐藏菜单