我有一个下拉菜单,我希望能够将鼠标悬停在每个下拉菜单上,延迟 0.3 秒,但是当您关闭菜单时,我希望它在淡出之前暂停 2 秒。
标记:
<ul class="mainnav">
<li><a href="#">item 1</a>
<ul class="sub">
<li><a href="#">item a</a></li>
<li><a href="#">item b</a></li>
<li><a href="#">item c</a></li>
</ul>
</li>
<li><a href="#">item 2</a>
<ul class="sub">
<li><a href="#">item d</a></li>
<li><a href="#">item e</a></li>
<li><a href="#">item f</a></li>
</ul>
</li>
</ul>
jQuery:
function(){
$('.mainnav > li').hover(
function () {
$(this).find('sub').fadeIn(300);
},
function () {
$(this).find('sub').fadeOut(300);
}
);
$('.mainnav').mouseout( function() {
setTimeout(function() {
$(this).find('sub').fadeOut(300);
}, 2000);
});
}
所以,如果我翻转“项目 1”,它会下降并显示“项目 a”、“项目 b”、“项目 c”。如果我滚动“项目 2”,它会下降并显示“项目 d”、“项目 e”、“项目 f”。
现在,如果我退出“.mainnav”,我希望滚动的下拉菜单在淡出之前延迟。
但这不是它在做什么。它只是淡出,就像滚动另一个菜单项一样。
提前致谢。