jquery - 在为另一个菜单设置动画之前关闭打开的菜单

标签 jquery drop-down-menu menu

我正在尝试,并且仍在寻找解决此问题的最佳方法。我有多个下拉菜单。我正在尝试检查其他打开的菜单,关闭它们,然后在单击的菜单上运行动画,或者简单地关闭单击的菜单(如果已打开)。这是我迄今为止所拥有的。

$('ul.primary li').click(function(event) {
            if ($(this).children('ul.drop').is(':visible')) {
                $(this).children('ul.drop').slideUp(function() {
                    $(this).parent('li').removeClass('active');
                });
            }
            else if ($(this).siblings().children('ul.drop').is(':visible')) {
                        $(this).siblings().children('ul.drop').slideUp(function() {
                            $(this).parent('li').removeClass('active');
                        });
                        $(this).children('ul.drop').slideDown(function() {
                            $(this).parent('li').addClass('active');
                        });
            }
            else {
                $(this).children('ul.drop').slideDown(function() {
                    $(this).parent('li').addClass('active');
                });
            }
        });

编辑:我不知道如何在单击的下拉动画打开之前关闭打开的下拉动画。 JsFiddle:http://jsfiddle.net/JG9dB/

最佳答案

这就是我要解决的问题......

JavaScript:

$('ul.primary>li').click(function(event) {
  var li = $(this);
  var liOld = $('ul.active').parents("li");

  if($('ul.active').length!=0){
      $('ul.active').removeClass('active').slideUp('slow', function(){
        if(li.index() != liOld.index()){
           li.children('ul.drop').slideDown('slow').addClass('active');
        }
      });
  }
  else{
     $(this).children('ul.drop').slideDown('slow').addClass('active');
  }
});

演示: http://jsfiddle.net/JG9dB/35/

这应该可以解决这个问题。如果您还有其他问题,请告诉我!

关于jquery - 在为另一个菜单设置动画之前关闭打开的菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14284783/

相关文章:

html - 在悬停时添加字符而不移动文本

css - 圆形水平 CSS 导航菜单的问题

android - 在 android appcompat 中显示为上下文菜单的溢出菜单

c# - 发布 DropDownList.Items.Addrange 和选择值时出现问题

jquery - 使用 jQuery 和 JSON 自动填充选择标签

javascript - 数据表服务器端处理

javascript - 从 JavaScript 中的内部函数返回?

c# - 如何将多选列表框添加到 Excel 中的单元格

ios - 导航栏下拉按钮?

javascript - 使用 jQuery 定位特定 DIV 以替换 HTML