1
我有一個擴展菜單使用jQuery。除了一件事以外,它運作良好:當用戶離開頁面時,菜單崩潰。我希望菜單在用戶點擊任何最終的< li>鏈接時保持打開狀態。所有這些鏈接打開相同的頁面。這些頁面上的內容從數據庫中抓取並由?id =確定。保持菜單擴展頁面更改打開
下面的代碼:
HTML:
<ul id="nav">
<li><a href="javascript:;">Products</a>
<ul id="nav2">
<li><a href="javascript:;">Domestic Market</a>
<ul>
<li><a href="index.php?page=Product&id=1">Link1</a></li>
<li><a href="index.php?page=Product&id=2">Link2</a></li>
<li><a href="index.php?page=Product&id=3">Link3</a></li>
</ul>
</li>
<li><a href="javascript:;">Commercial Market</a>
<ul>
<li><a href="">Coming Soon</a></li>
</ul>
</li>
</ul>
</li>
</ul>
CSS:
ul {
padding: 0px;
margin: 0px;
width: 10em;
list-style-type:none;
}
li {
font: 100% Verdana, Arial, Helvetica, sans-serif;
font-size:12px;
color:#003;
}
li ul {
display: none;
}
li.active > ul {
display: block;
}
的jQuery:
$('#nav').delegate('li,a', 'click', function(e) {
e.stopPropagation();
var self = $(e.target),
//get a reference to the clicked element
active = self.parents().andSelf() //select all li's that should be active
.addClass('active'); //and activate them
$('#nav .active').not(active).removeClass('active'); //deactivate others
});
$(document).click(function(){
$('.active').removeClass('active');
});
如何保持最終< LI>的打開?