目前,如果我打开一个菜单并点击另一个菜单,则打开第二个菜单,第一个打开。我甚至可以同时打开所有人!
我想改变这种行为,这样我一次就不会打开多个菜单。 (占所有级别/子菜单)
说我打开“Home”并点击“Item 4”。出现“子项1”和“子项2”。如果我然后单击顶部的“联系人”,则在“联系人”向下滑动之前,打开的另一个菜单应该关闭(理想情况下所有级别应一次向上滑动一个)。
我知道问题是Javascript,所以我不会在这里粘贴HTML和CSS,以免占用太多空间。
由于
$(function(){
$('ul#menu li').on('click', function(){
$(this).children('ul').delay(20).slideToggle(600);
});
});
$('ul').on('click', function(e){
e.stopPropagation();
});
答案 0 :(得分:0)
试试这个Fiddle
JS代码:
$(function(){
$('ul#menu li').on('click', function(){
if($(this).children('.drop').size() > 0) {
$("ul.drop").slideUp();
$("ul.drop").find('ul').hide();
} else {
}
$(this).children('ul').delay(20).slideToggle(600);
});
});
$('ul').on('click', function(e){
e.stopPropagation();
});