【发布时间】:2011-05-24 22:09:37
【问题描述】:
我只是想用 jQuery 创建一个简单的切换菜单,但不能完全正常工作。
在当前状态下,它不会滑动切换
HTML:
<ul id="menu">
<li><a href="one.html">One</a>
<ul>
<li><a href="one-one.html">one one</a></li>
<li><a href="one-two.html">one two</a></li>
<li><a href="one-three.html">one three</a></li>
</ul>
</li>
<li><a href="two.html">Two</a></li>
<li><a href="three.html">Three</a>
<ul>
<li><a href="three-one.html">three one</a></li>
<li><a href="three-two.html">three two</a></li>
<li><a href="three-three.html">three three</a></li>
</ul>
</li>
<li><a href="four.html">Four</a></li>
</ul>
JS:
$(document).ready(function() {
// Hide the sub menu items first
$("ul#menu > li > ul").hide();
// On click
$('ul#menu > li').click(function() {
// If there are sub items toggle them & prevent default click action
if ( ('ul#menu > li').has('ul').length > 0 ) {
$('ul#menu > li > ul').slideToggle("slow");
return false;
};
});
});
我需要它来滑动切换,但也需要适当地处理点击,这样父列表项就不会点击,但子菜单项会点击进入它们的相关页面。
【问题讨论】: