1
我想要這個菜單:http://jsfiddle.net/tz37m/1/在整個網站上工作得更好,這樣,如果某人在子菜單中的某個頁面上,該子菜單在他們位於該頁面上時處於打開狀態。我也想要它,所以如果當前頁面上有一個子菜單,那麼它的子菜單就會顯示出來。我對Jquery很新穎,並且正在爲此付出一點努力..如果當前頁面在該子菜單項中,多級擴展jquery菜單以展開/顯示子菜單?
我還注意到,我試圖將.focus實現爲jquery,這樣它不僅在懸停和鍵盤訪問。但這似乎並不奏效。有任何想法嗎?
<div id="menu">
<ul id="nav">
<li><a href="/home/">Home</a></li>
<li><a href="/home/about/">About</a></li>
<li><a href="/home/books/">Books</a>
<ul>
<li><a href="/home/books/teachers-notes/">Teachers Notes</a></li>
</ul>
</li>
<li><a href="/home/faq/">FAQ</a></li>
<li><a href="/home/contact/">Contact</a></li>
</ul>
</div>
$(function(){
var path = location.pathname.substring(1);
if (path)
$('#nav a[href$="' + path + '"]').attr('class', 'selected');
});
$(function(){
$('#nav>li>ul').hide();
$('#nav>li').hover(function(){
// check that the menu is not currently animated
if ($('#nav ul:animated').size() == 0) {
// create a reference to the active element (this)
// so we don't have to keep creating a jQuery object
$heading = $(this);
// create a reference to visible sibling elements
// so we don't have to keep creating a jQuery object
$expandedSiblings = $heading.siblings().find('ul:visible');
if ($expandedSiblings.size() > 0) {
$expandedSiblings.slideUp(500, function(){
$heading.find('ul').slideDown(500);
});
}
else {
$heading.find('ul').slideDown(1000);
}
}
});
});
現場演示中看到此鏈接:http://jsfiddle.net/nanoquantumtech/Sr73j/ – Thulasiram
我也有類似的問題。您的解決方案很好地工作。 – Voodoo