我有下拉菜单,我想在鼠标移出时添加延迟。因此,当您将鼠标悬停在菜单上时,它会显示下拉菜单,但是当您从菜单中移动鼠标时,我希望有一些延迟。
我已经为此搜索了一整天,但没有找到任何东西,期待我不知道使用的 hoverIntent 插件。
这是我的代码:
HTML:
<ul id='nav'>
<li><a href='#'>Top level 1</a></li>
<li><a href='#'>Top level 2</a>
<ul>
<li><a href='#'>Sub 2 - 1</a></li>
<li>
<a href='#'>Sub 2 - 2</a>
<ul>
<li>
<a href='#'>Sub 2 - 2 - 1</a>
<ul>
<li><a href='#'>Sub 2 - 2 - 1 - 1</a></li>
<li><a href='#'>Sub 2 - 2 - 1 - 2</a></li>
<li><a href='#'>Sub 2 - 2 - 1 - 3</a></li>
<li><a href='#'>Sub 2 - 2 - 1 - 4</a></li>
</ul>
</li>
<li><a href='#'>Sub 2 - 2 - 2</a></li>
<li>
<a href='#'>Sub 2 - 2 - 3</a>
<ul>
<li><a href='#'>Sub 2 - 2 - 3 - 1</a></li>
<li><a href='#'>Sub 2 - 2 - 3 - 2</a></li>
<li><a href='#'>Sub 2 - 2 - 3 - 3</a></li>
<li><a href='#'>Sub 2 - 2 - 3 - 4</a></li>
</ul>
</li>
</ul>
</li>
<li><a href='#'>Sub 2 - 3</a></li>
</ul>
</li>
</ul>
查询:
$(document).ready(function(){
$("#nav ul ").css({display: "none"});
$("#nav li").hover(
function()
{
$(this).find('ul:first').css({visibility: "visible",display: "none"}).slideToggle();
},
function(){
$(this).find('ul:first').css({visibility: "hidden"});
}
);
请假设,我是 javascript 的大菜鸟 :)
谢谢!
编辑:
我已经尝试了所有解决方案,但没有一个可以期待 Patricia 的解决方案。现在我得到了奇怪的行为,你可以在http://pastehtml.com/view/aykmhy9ae.html看到