Я хочу расширить свой dropdownmenu с помощью этого скрипта.
$(document).ready(function() {
$('li.active>ul').css('display','block');
$("ul.parent>li:not(.active)").mouseenter(function(){
$("ul.parent li.active>ul").css("display","none");
});
$("ul.parent>li:not(.active)").mouseleave(function(){
$("ul.parent li.active>ul").css("display","block");
});
$("ul.level-2>li:not(.active)").mouseenter(function(){
$("ul.level-2 li.active>ul").css("display","none");
});
$("ul.level-2>li:not(.active)").mouseleave(function(){
$("ul.level-2 li.active>ul").css("display","block");
});
});
Он работает, но есть ли более чистые решения, чем это, даже для большего количества уровней?
Возможно, используя hover()
- toggle()
и parent()
но зависит от вашей разметки.
$(document).ready(function() {
$('li.active-trail>ul').css('display','block');
$("ul > li:not(.active-trail)").hover(function(){
$(this).parent().find("li.active>ul").toggle();
});
})