Jquery:单击slideUp Issue

时间:2012-01-10 14:30:32

标签: jquery slidedown slideup

我有一个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'); 
});

2 个答案:

答案 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事件关闭菜单。