我有一個菜單,看起來像下面的一個。我希望一級孩子在懸停或點擊時出現(所以它也適用於iPad)。當懸停(或點擊)第一級孩子時,我想要它的二級孩子出現,如果他們存在。在懸停或單擊不同的DOM元素時,應該再次隱藏所有子菜單。懸停或點擊jquery下拉菜單
另外,當用戶在頁面上時,我想要菜單摺疊出來,直到他將鼠標懸停在另一個菜單項上或點擊不同的菜單項,以便他總能看到他在導航中的位置。
我在Wordpress中構建了一個朋友,他應該能夠使用後端創建和更改其導航菜單。因此,將某些類或ID添加到某些元素不是一種選擇。
<style>
.sub-menu {display: none;}
</style>
<ul class="menu">
<li>child 1
<ul class="sub-menu">
<li>child 1.1
<ul class="sub-menu">
<li>child 1.1.1</li>
<li>child 1.1.2</li>
</ul>
</li>
<li>child 1.2
<ul class="sub-menu">
<li>child 1.2.1</li>
<li>child 1.2.2</li>
</ul>
</li>
</ul>
</li>
<li>child 2
<ul class="sub-menu">
<li>child 2.1</li>
<li>child 2.2</li>
</ul>
</li>
</ul>
這就是我想出來的,但它不起作用。當鼠標懸停在1.1和1.2的兄弟姐妹上時,
$("ul.menu li").hover(function() {
$(this).find("ul.sub-menu").not("ul.sub-menu li ul.sub-menu").slideDown();
} , function() {
$(this).find("ul.sub-menu").hide();
});
$("ul.menu li ul.sub-menu").hover(function() {
$(this).find("ul.sub-menu").slideDown();
} , function() {
$(this).find("ul.sub-menu").hide();
});
只是一個評論,iPad將如果您的菜單中的主要選項不會在任何地方重定向,則將懸停操作轉換爲點擊操作l顯示你的菜單,所以如果你的菜單要以這種方式工作,不要麻煩做兩個動作(懸停和點擊) – Paradise