我正在处理一个菜单,当我点击一个锚点<a>
时,它应该向下滑动,当我点击页面的<body>
时它应该向上滑动{{1} }标签包含在正文中)。
我目前正在使用jQuery。
问题是,在前两次点击后(标签结果首先出现:菜单出现;第二次点击<a>
),菜单消失,但当我再次点击<body>
时标签菜单同时向下滑动?
以下是代码:
<a>
答案 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
,然后隐藏菜单