Javascript 单击其他子菜单时如何关闭子菜单

Javascript 单击其他子菜单时如何关闭子菜单,javascript,jquery,html,Javascript,Jquery,Html,我试图做一个功能,当我点击一个子菜单时,它会打开,但当我点击另一个子菜单时,我想关闭之前打开的那个 这是我现在的代码,它所做的是当我点击它打开和关闭的子菜单 // Dropdown menu $(".sidebar-dropdown > a").click(function () { $(".sidebar-submenu").slideUp(200); if ($(this).parent().hasClass("active")) { $(".side

我试图做一个功能,当我点击一个子菜单时,它会打开,但当我点击另一个子菜单时,我想关闭之前打开的那个

这是我现在的代码,它所做的是当我点击它打开和关闭的子菜单

// Dropdown menu
$(".sidebar-dropdown > a").click(function () {
    $(".sidebar-submenu").slideUp(200);

    if ($(this).parent().hasClass("active")) {
        $(".sidebar-dropdown").removeClass("active");
        $(this).parent().removeClass("active");

    } else {

        $(".sidebar-dropdown").removeClass("active");
        $(this).next(".sidebar-submenu").slideDown(200);
        $(this).parent().addClass("active");


    }

});
我想做的基本上是:

我不能用我现在正在使用的代码复制这个例子…

重要的是:我们宁愿帮助找到解决方案,也不愿为他们提供服务。我记得我自己问了第一个问题。这就是为什么这次我会帮助你。用你的代码创建一个代码片段,这样我们可以帮助你在将来得到你想要的。如果你无法发现自己做错了什么,请给出一个更好的工作例子

这是您发布的两个代码的组合。应该按预期工作。请注意,如果希望在开始时打开活动类,则需要有活动类

$.sidebar下拉菜单>a.clickfunction{ $.sidebar-submenu.slideUp200; $.sidebar-dropdown.removeClassactive; 如果$this.parent.hasClassactive处于活动状态{ $this.parent.removeClassactive; }否则{ $this.next.sidebar-submenu.slideDown200; $this.parent.addClassactive; } }; 第一个子菜单 项目1 项目2 第二个子菜单 项目3 项目4
为什么你不能在你的代码中复制这个例子呢?你能分享你的html代码吗?这已经讨论过很多次了。与所有逻辑相反,只需关闭所有内容并打开当前子菜单。显示HTML以获取更多帮助。您正在使用$.sidebar-dropdown.removeClassactive;在if和else块中。@AkhilAravind我在原始帖子中添加了我的html代码。