Я пытаюсь открыть свое боковое меню, когда пользователь нажимает на одно из элементов детского меню. Например, если я навешиваю над разделом 1, отображается раздел 2, и если я нажму на раздел 2, то будет показано содержимое раздела 2, но раздел 1 все еще открыт и не закрывается, если я не нажму на раздел 4, который является дочерним элементом раздел 3.Как открыть боковое меню
Моя проблема в том, что я не могу заставить ее оставаться открытой, когда открыт элемент детского меню.
Мой HTML
<div id="second-menu" class="collapse navbar-collapse menu_two">
<ul class="nav navbar-nav inside-nav">
<li class="sub_menu">
<a href="#">Section 1</a>
<ul class="sidenav_wrapper">
<li class="sidenav_item sidenavlast">
<a href="#">Section 2</a>
</li>
</ul>
</li>
<li class="active_sub_menu">
<a href="#">Section 3</a>
<ul class="sidenav_wrapper">
<li class="sidenav_item">
<a href="#">Section 4</a>
</li>
<li class="sidenav_item">
<a href="#">Section 5</a>
</li>
<li class="sidenav_item">
<a href="#">Section 6</a>
</li>
<li class="sidenav_item sidenavlast">
<a href="#">Section 7</a>
</li>
</ul>
</li>
<li class="sub_menu">
<a href="#">Section 8</a>
<ul class="sidenav_wrapper">
<li class="sidenav_item">
<a href="#">Section 9</a>
</li>
<li class="sidenav_item">
<a href="#">Section 10</a>
</li>
<li class="sidenav_item sidenavlast">
<a href="#">Section 11</a>
</li>
</ul>
</li>
</ul>
</div>
Мои JS
$('ul.navbar-nav li').hover(
function() {
$(this).find('.sidenav_wrapper:first').css('display','block');
},
function() {
$(this).find('.sidenav_wrapper:first').css('display','none');
}
);
мой CSS
.menu_two {
border-left: 16px solid #dfdfdf;
padding-left: 0;
}
.sidenav_wrapper {
background: none repeat scroll 0 0 #e7ecf5;
border-left: 6px solid #8fb8e6;
display: none;
padding: 0;
}
Вот jsfiddle: JSFIDDLE
Если я могу спросить, почему бы вам не добавить кнопку, чтобы пользователь мог решить, когда открыть или закрыть меню? Таким образом, вы можете предотвратить множество разочарований для своих пользователей. – Dave