单击打开另一个时关闭打开的下拉列表

时间:2013-01-24 15:36:12

标签: jquery drop-down-menu

我有以下javascript,当点击导航中的链接时,通过添加“已删除”类来打开下拉菜单。

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

我的问题是,当一个下拉列表打开时,当您单击打开另一个下拉列表时,它不会关闭。如何找到打开的下拉列表并在打开另一个下拉列表时将其关闭?

3 个答案:

答案 0 :(得分:2)

在切换要打开的类之前,无法删除所有已删除的类:

e.g:

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

答案 1 :(得分:1)

如果您只想在任何时候打开一个下拉列表,您可能希望从之前标记为“已删除”的所有内容中删除已删除的类。这就是我要做的......

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

答案 2 :(得分:0)

试试这个

JS CODE

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

LIVE DEMO