Javascript 单击链接时隐藏第二层下拉列表-jQuery
我有一个简单的手风琴菜单: 当我单击Javascript 单击链接时隐藏第二层下拉列表-jQuery,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个简单的手风琴菜单: 当我单击下拉列表1时,您将看到下拉列表以及测试1和测试2下面的链接。 但是,Test几乎立即消失。如何阻止这种情况发生,并在单击下拉列表1时始终显示测试1和测试2 换句话说,.sub-menu.sub-menu是隐藏的 谢谢你的帮助 $(文档).ready(函数($){ var$toggles=$('.inline')。查找('.navtoggles')。单击(函数(){ $toggles.not(this.removeClass('selected')) //展开
下拉列表1
时,您将看到下拉列表以及测试1
和测试2
下面的链接。
但是,Test
几乎立即消失。如何阻止这种情况发生,并在单击下拉列表1
时始终显示测试1
和测试2
换句话说,.sub-menu.sub-menu
是隐藏的
谢谢你的帮助
$(文档).ready(函数($){
var$toggles=$('.inline')。查找('.navtoggles')。单击(函数(){
$toggles.not(this.removeClass('selected'))
//展开或折叠此面板
$(this).toggleClass('selected').next().slideToggle('fast');
//隐藏其他面板
$(“.sub-menu”).not($(this.next()).slideUp('fast');
});
});代码>
。手风琴切换{
光标:指针;
}
.子菜单{
显示:无;
}
.子菜单.子菜单{
显示:块;
}
.选定{
背景色:红色;
}
评论如下:
//$(".sub-menu").not($(this).next()).slideUp('fast');
你可以把最后一行改成这个
$(".sub-menu").not($(this).parent().find('.sub-menu')).slideUp('fast');
这将获得a
标记的父li
。并确保其中没有显示任何。子菜单
元素。但它仍然会隐藏其他li
s中的任何子菜单,我想这就是我的意图。太棒了!如果单击下拉列表1
,然后单击下拉列表2
,是否应关闭下拉列表1
?我该怎么做呢?