【问题标题】:Open/close a submenu by clicking通过单击打开/关闭子菜单
【发布时间】:2013-12-03 03:43:51
【问题描述】:

我想在您单击 li 时创建一个菜单,该菜单带有 .navi-submenu 类的 chlildren div 以使该类处于活动状态.. 然后它是可见的.. 它可以工作.. 但如果我不再关闭它单击第二次...我认为该声明是错误的..您能帮帮我吗?

$("#main-navi ul li").click(function(event){
    event.preventDefault(); 

    var i = $(this).children(".navi-submenu");

    if(i.hasClass("active")){
        i.removeClass("active");
    }else{
        i.addClass("active");
    }
});

【问题讨论】:

    标签: jquery onclick submenu


    【解决方案1】:

    尝试使用 toggleClass()

    $("#main-navi ul li").click(function(event){ event.preventDefault();
     $(this).find(".navi-submenu").toggleClass('active');
    });
    

    我已经将函数 children() 更改为 find(),对我来说这感觉更可靠,因为感觉就像 children() 查找直接子级,而 find() 查找自身内部的每个元素。顺便说一句,这不是基于实际事实,我猜只是一种偏好/直觉。

    【讨论】:

    • 我试过了,它比第一个更好,因为它更短,但它添加了类并且在第二次点击后不会删除它......我不知道为什么:(
    猜你喜欢
    • 1970-01-01
    • 2019-08-31
    • 2015-09-09
    • 2018-09-29
    • 2016-07-21
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    相关资源
    最近更新 更多