我在HTML中有一个菜单-子菜单-子子菜单的结构,像这样:
<menu>
<li><a href="...">Item 1</a></li>
<li><ul>
<li><a href="...">Subitem 1</a></li>
<li><a href="...">Subitem 2</a></li>
<li><ul>
<li><a href="...">Sub-subitem 1</a></li>
<li><a href="...">Sub-subitem 2</a></li>
<li><a href="...">Sub-subitem 3</a></li>
</ul>
<a href="...">Subitem 3</a></li>
<li><a href="...">Subitem 4</a></li>
</ul>
<a href="...">Item 2</a>
</li>
<li><a href="...">Item 3</a></li>
<li><a href="...">Item 4</a></li>
使用以下 CSS 格式:
menu {
display: block;
width: 200px;
}
/* hide subitems */
menu li ul,
menu li ul li ul {
display: none;
position: absolute;
}
/* set up positions */
menu li ul {
left: 200px;
width: 200px;
}
menu li ul li ul {
left: 400px;
width: 200px;
}
我使用这个jQuery代码:
$(function() {
/* hide all submenu */
$('menu').find('ul').hide();
/* show submenu on mouseenter */
$('menu li a').mouseenter(function() {
$(this).parent().children('ul').show();
}).mouseleave(function() {
$(this).parent().children('ul').hide();
});
});
我该如何检测鼠标是否离开了元素并进入了它的子元素?或者如果需要,我该如何保持子元素的状态?
menu > ul > li > ul
这样的东西吗? - Mr. Alienli
应该在ul
内部。 - putvande[type="toolbar"]
属性添加到您的<menu>
元素中。或者,如果您的菜单旨在包含导航链接,而不是用于Web应用程序的交互式JavaScript驱动控件,您应该使用带有<ul>
或<ol>
子元素的<nav>
元素。 - zzzzBov