Jquery:点击slideUp问题

标签 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'); 
});

最佳答案

这应该有效:

$(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();
    }
});

关于Jquery:点击slideUp问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8804857/

相关文章:

javascript - 使用 jQuery 发送 'simple' POST 请求,但仍然收到 CORS

javascript - 需要在JQuery中比较两个变量的精确值

jquery - 如果任何其他 div 使用 jQuery 向下滑动,则 SlideUp 一个 div

jquery - 防止 div 滑动()

jquery - 滑动菜单时隐藏图像的问题

javascript - 菜单上的箭头处于事件状态时

jquery - 如何在打开或关闭按钮中使用 Jquery 来限制自动列表

android - ExpandableListView 上的向下滑动效果

javascript - Jquery 仅在不可见时才向下滑动

jquery - jQuery 动画完成后如何执行 .click() ?