我有这个脚本,可以在我的导航项下打开下拉菜单。

现在,单击导航项时,下拉列表将打开。当我再次单击同一项目时,它不会关闭。

仅当我单击另一个导航项以打开另一个下拉菜单时,才能关闭它。

如何在单击时关闭当前导航项,同时单击其他导航项时保持其关闭功能?

$("li.dropdown-control > a").click( function (event) {
    event.preventDefault()
        $('.dropped').removeClass('dropped');
        var nextSibling = $(this).next();
        nextSibling.toggleClass("dropped");
});

最佳答案

查看您的代码:

    $('.dropped').removeClass('dropped');
    var nextSibling = $(this).next();
    nextSibling.toggleClass("dropped");


这将删除所有dropped类(包括您刚刚单击的类,如果已将其打开),然后将其添加回同一元素。这就是为什么它似乎从未关闭过-您实际上关闭并立即再次打开它。

尝试以下方法:

    var nextSibling = $(this).next();
    nextSibling.toggleClass("dropped");
    $('.dropped').not(nextSibling).removeClass('dropped');

10-07 16:58