只是想深入了解 jquery,如果这已经得到解答,请原谅我。搜索但找不到与我正在尝试做的事情相关的示例。
我有一个带有一些子菜单的垂直菜单。当点击顶层菜单时,子菜单打开是有效的。问题是我希望在单击子菜单项之一时子菜单保持打开状态。就像现在一样,当单击子菜单项时,菜单会折叠。
这是我的代码:
// Add class of drop if item has sub-menu
$('ul.sub-menu').closest('li').addClass('drop');
// Left Sidebar Main Navigation
var menu_ul = $('.menu > li.drop > ul'),
menu_a = $('.menu > li.drop > a');
menu_ul.hide();
menu_a.click(function(e) {
e.preventDefault();
if(!$(this).hasClass('active')) {
menu_a.removeClass('active');
menu_ul.filter(':visible').slideUp('normal');
$(this).addClass('active').next().stop(true,true).slideDown('normal');
} else {
$(this).removeClass('active');
$(this).next().stop(true,true).slideUp('normal');
}
});
我想如果我尝试将我想要的内容翻译成一个清晰的编码类型句子,它会这样读。基本上我需要在 DOM 中查询任何具有子菜单的活动菜单,如果页面显示其中一个子菜单项,则显示子菜单下拉菜单。