下拉菜单打开所有子菜单,而不仅仅是相应的层

时间:2011-03-28 19:42:06

标签: javascript jquery drop-down-menu

我正在尝试在ie6中使用下拉菜单(适用于所有其他浏览器)。 到目前为止,我可以让它同时打开(第二和第三层)子菜单,但我无法弄清楚如何让它打开第二层,然后在打开第三层之前等待我盘旋。

使用所有css,ul ul和ul ul ul display:none,直到通过使用此行“发现” - >

#access ul li:hover > ul {
display: block;
}

这是我所拥有的jquery,它使第二层和第三层同时打开:

jQuery(document).ready( function($) {
$('#access li').mouseover( function() {
    $(this).find('ul').show();
});
$('#access li').mouseleave( function() {
    $(this).find('ul').hide();
});
$('#access li ul').mouseleave( function() {
    $(this).hide();
});
});

我怎样才能让mousover只打开第二层,直到我将鼠标悬停在相应的按钮上以打开第3层。

提前致谢!

PS我已经使用了几个插件(ie7.js,whatever.hover,csshover,ie6hover等),但它们打破了页面上的其他代码,所以我想为菜单提供一个简单的解决方案。

1 个答案:

答案 0 :(得分:0)

我认为问题来自.find('ul'),它找到所有嵌套列表而不是子列表。试试这个:

jQuery(document).ready( function($) {
$('#access li').mouseover( function() {
    $(this).children('ul').show();
});
$('#access li').mouseleave( function() {
    $(this).find('ul').hide();
});
$('#access li ul').mouseleave( function() {
    $(this).hide();
});
});