我試圖讓我的側面菜單在用戶單擊其中一個子菜單項時保持打開狀態。例如,如果我將鼠標懸停在第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