Jquery 单击两个下拉菜单

Jquery 单击两个下拉菜单,jquery,html,css,drop-down-menu,click,Jquery,Html,Css,Drop Down Menu,Click,按下第4点时,如何在第1项菜单下实现隐藏 我通过添加一个检查来实现: if ($('.arm-new-ext').children('ul').hasClass('show')) $('.arm-new-ext').click(); 及 这是正确的决定吗?您将如何实施它 。主菜单{ } .主菜单李{ 列表样式:外部无; 光标:指针; 浮动:左; } .隐藏{ 显示:无; } .表演{ 显示:块; } 菜单{ 边框:1px实心#958d; 位置:绝对位置; 保证金:0; 填充:0; } 菜单李

按下第4点时,如何在第1项菜单下实现隐藏

我通过添加一个检查来实现:

if ($('.arm-new-ext').children('ul').hasClass('show')) $('.arm-new-ext').click();

这是正确的决定吗?您将如何实施它

。主菜单{
}
.主菜单李{
列表样式:外部无;
光标:指针;
浮动:左;
}
.隐藏{
显示:无;
}
.表演{
显示:块;
}
菜单{
边框:1px实心#958d;
位置:绝对位置;
保证金:0;
填充:0;
}
菜单李{
字体:14px Segoe用户界面,无衬线;
列表样式:外部无;
位置:静态;
线高:20px;
文本对齐:左对齐;
明确:两者皆有;
背景#faf8f5;
填充:2px0px;
空白:nowrap;
}

$(函数(){
$('arm new ext')。单击(函数(e){
//我的解决方案!
//if($('.arm ext').children('ul').hasClass('show'))$('.arm ext').click();
if($(this).children('ul').hasClass('show'))
$(this.children('ul'))
.removeClass('show')
.addClass(“隐藏”);
其他的
$(this.children('ul'))
.addClass('show')
.removeClass(“隐藏”);
如果(e.stopPropagation)e.stopPropagation();
如果(e.preventDefault)e.preventDefault();
});
$('.arm ext')。单击(函数(e){
//我的解决方案!
//if($('.arm new ext').children('ul').hasClass('show'))$('.arm new ext').click();
if($(this).children('ul').hasClass('show'))
$(this.children('ul'))
.removeClass('show')
.addClass(“隐藏”);
其他的
$(this.children('ul'))
.addClass('show')
.removeClass(“隐藏”);
如果(e.stopPropagation)e.stopPropagation();
如果(e.preventDefault)e.preventDefault();
});
$('body')。单击(函数(){
if($('.arm new ext').children('ul').hasClass('show'))
$('.arm new ext').children('ul'))
.removeClass('show')
.addClass(“隐藏”);
if($('.arm ext').children('ul').hasClass('show'))
$('.arm ext').children('ul'))
.removeClass('show')
.addClass(“隐藏”);
})
});
  • Пункт 1
    • 一,
    • 二,
  • Пааа2
  • Пааа3
  • Пункт 4
    • 一,
    • 二,
  • ППааС5

您可以使用
切换类来实现这一点:

var $menuHeader = $('.arm-new-ext,.arm-ext');
var $menuItems = $menuHeader.children('ul');
$menuHeader.click(function(e) {
    var $currentMenuItems = $(this).children('ul');
    $menuItems.not($currentMenuItems).removeClass('show').addClass('hide')
    $currentMenuItems.toggleClass('show hide');
});
。主菜单{
}
.主菜单李{
列表样式:外部无;
光标:指针;
浮动:左;
}
.隐藏{
显示:无;
}
.表演{
显示:块;
}
菜单{
边框:1px实心#958d;
位置:绝对位置;
保证金:0;
填充:0;
}
菜单李{
字体:14px Segoe用户界面,无衬线;
列表样式:外部无;
位置:静态;
线高:20px;
文本对齐:左对齐;
明确:两者皆有;
背景#faf8f5;
填充:2px0px;
空白:nowrap;
}

$(函数(){
变量$menuHeader=$('.arm新扩展,.arm扩展');
var$menuItems=$menuHeader.children('ul');
$menuHeader。单击(函数(e){
调试器
var$currentMenuItems=$(this.children('ul');
$menuItems.not($currentMenuItems.removeClass('show')。addClass('hide'))
$currentMenuItems.toggleClass('show hide');
如果(e.stopPropagation)e.stopPropagation();
如果(e.preventDefault)e.preventDefault();
});
$('body')。单击(函数(){
if($('.arm new ext').children('ul').hasClass('show'))
$('.arm new ext').children('ul'))
.removeClass('show')
.addClass(“隐藏”);
if($('.arm ext').children('ul').hasClass('show'))
$('.arm ext').children('ul'))
.removeClass('show')
.addClass(“隐藏”);
})
});
  • Пункт 1
    • 一,
    • 二,
  • Пааа2
  • Пааа3
  • Пункт 4
    • 一,
    • 二,
  • ППааС5

不起作用。当第二个子菜单打开时,第一个子菜单未关闭。
var $menuHeader = $('.arm-new-ext,.arm-ext');
var $menuItems = $menuHeader.children('ul');
$menuHeader.click(function(e) {
    var $currentMenuItems = $(this).children('ul');
    $menuItems.not($currentMenuItems).removeClass('show').addClass('hide')
    $currentMenuItems.toggleClass('show hide');
});