我有一個菜單hortizontal,水平子和subub菜單。 點擊後,子菜單應該出現並保持可見狀態。如果我從子菜單進入頁面,子子菜單應該可見。 我搜索了這個網站和網絡尋找答案。jquery點擊顯示/隱藏子菜單不顯示
UPDATE
心中已經修改了劇本,感謝你給的答案,這讓我在正確的方向,發現一個例子這裏計算器。 點擊是針對平板電腦的,適用於我喜歡懸停的屏幕。我試圖將腳本與懸停功能結合起來使用。
$('#menu li').hover(function() {
$(this).find('ul').show();
},
function() {
$(this).find('ul').hide();
});
試圖結合懸停和點擊這樣,但然後懸停是行不通的。 我在做什麼錯?
$(document).ready(function(){
$('.sub').hide();
$('#menu li a').on('click hover ', function(event){
if ($(this).next('ul.sub').children().length !== 0) {
event.preventDefault();
}
$(this).siblings('.sub').slideToggle('slow');
});
});
CSS
.sub{display:none;}
HTML
<ul id="menu">
<li><a href="item.php">Item</a></li>
<li><a href="item1.php">item1</a>
<ul class="sub">
<li><a href="subitem1">subitem1</li>
<ul class="subsub">
<li> <a href="subsub1.php">subsub1</a></li>
<li> <a href="subsub2.php">subsub2</a></li>
<li> <a href="subsub3.php">subsub3</a></li>
</ul></li>
<li><a href="subitem2.php">subitem2</a></li>
</ul></li>
</ul>
jQuery的
//Hide all the sub menus
$('.sub').hide();
$('#menu li a').click(function(event){
if ($(this).next('ul.sub').children().length !== 0) {
}
$(this).siblings('.sub').slideToggle('slow');
});
});
不能完全確定你的目標是在這裏。只需要顯示子菜單?第二個li包含一個鏈接。如果href有一個值,您將導航到該頁面。所以,子菜單可能會出現,但你永遠不會看到它。更改href =「#」,你應該看到你的菜單。 – legacybass