我需要我的子菜单 div 只有在 li 项目和子菜单本身都没有悬停时才会消失。
CSS 解决方案在这里不起作用,因为我需要使用第一个子悬停并且子菜单 div 不是子元素。
我已经搜索了论坛,但是当子菜单不是 li 项目的子菜单时,找不到解决方案。
HTML:
<ul id="top-menu">
<li>item 1</li>
<li>item 2</li>
<li>item3</li>
</ul>
<!-- somewhere else in DOM (not directly after or child of menu) -->
<div id="#menu1_expansion">
sub menu1 content
</div>
jQuery:
$(document).ready(function () {
$('#top-menu li:nth-child(1)').hover(
function()
{
$('#menu1_expansion').stop();
if ($('#menu1_expansion:hidden'))
{
$('#menu1_expansion').show();
}
}
);
$('#menu1_expansion').mouseleave( function(){ $('#menu1_expansion').hide(); });
});
CSS:
#menu1_expansion {display:none; position:absolute;}
目前,这使子菜单出现在 li 项目悬停时,并且子菜单在 mouseleave 时消失,但是当它和 li 项目都是 mouseleave 时,我需要隐藏子菜单 - 任何人都可以建议如何做到这一点?谢谢。