我有这个脚本,可以在我的导航项下打开下拉菜单。
现在,单击导航项时,下拉列表将打开。当我再次单击同一项目时,它不会关闭。
仅当我单击另一个导航项以打开另一个下拉菜单时,才能关闭它。
如何在单击时关闭当前导航项,同时单击其他导航项时保持其关闭功能?
$("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');