首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >slideDown之后,Jquery slideUp菜单消失

问slideDown之后,Jquery slideUp菜单消失
EN

Stack Overflow用户
提问于 2011-12-01 06:16:41
回答 3查看 290关注 0票数 0

我正在做一个菜单,当我点击一个锚<a>时,它应该会滑动下来,当我点击页面的<body>时,它应该会滑动起来( <a>标签包含在正文中)。我目前使用的是jQuery。

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

代码如下:

代码语言:javascript
复制
$(function() {
    $('.sch_option a').click(function() {           
        $('.sch_option .sch_more_option_extend').slideDown(150, function(){             
            $('body').click(function() {
                $('.sch_option .sch_more_option_extend').slideUp(100);          
            }); 
        });
    });
});
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-01 06:22:26

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

代码语言:javascript
复制
$('.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
EN

Stack Overflow用户

发布于 2011-12-01 06:21:35

您一次又一次地绑定到body相同的函数。先试着解绑;

代码语言:javascript
复制
$('body').unbind('click').click(function(){
    $('.sch_option .sch_more_option_extend').slideUp(100);
}); 
票数 0
EN

Stack Overflow用户

发布于 2011-12-01 06:22:00

你不能在这里真正使用$('body').,因为你的菜单已经是body的子菜单了,你能做的就是跟踪点击的offset,然后隐藏菜单。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8333747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档