我有一个JQuery导航,点击父<li>
时使用JQuery向下滑动。在第二次单击时,它将向上滑动导航。我遇到的问题是,如果客户点击屏幕上的其他位置,我的客户也希望它能够向上滑动,即只需点击空白空格就会折叠导航。
有什么想法吗?
这是Jquery:
$('#menu-flag-menu > li > a').click(function(e) {e.preventDefault();});
$("#menu-flag-menu li a").click(function(){
// close all opened sub menus
$("ul", $(this).parent().siblings()).stop(true,true).slideUp();
var ul = $(this).next("ul");
ul.stop(true,true).slideToggle('fast');
});
答案 0 :(得分:3)
这应该有效:
$(document).click(function (e) {
// if we click on anything other than the navigation menu
// or it's descendants then slide up the menu
if(e.target.id !== "menu-flag-menu"
&& !$(e.target).closest("#menu-flag-menu").length) {
$(".sub-menu").stop().slideUp();
}
});
答案 1 :(得分:0)
我的建议是尝试使用.mouseenter事件打开菜单,使用mouseleave事件关闭菜单。