jQuery下拉导航,一些项目没有隐藏在mouseout上

时间:2011-08-19 11:04:05

标签: jquery drop-down-menu delay html-lists

我有一个使用UL的水平多级下拉导航,如果你以受控的方式将鼠标悬停在项目上,它可以正常工作,但只要你通过更快地移动鼠标来加快速度 - 项目“坚持”到“显示“状态,不要再次隐藏,直到再次将鼠标悬停在它们上面。

此外,当在项目之间悬停时,例如ul li到另一个级别的ul li ul li,如果在移动鼠标时出现一个像素,则子项目将消失。这在技术上是脚本应该做的,但是如何添加一个小延迟?

这是我的jquery:

$(function() {
$('ul.sub-menu').hide();
$('.sub-menu ul').hide();

$('#menu-navigation li').hover(function(){
    $(this).children('ul').slideDown("fast");
    },
function(){
    $(this).children('ul').hide();
});

$('#menu-navigation ul li').hover(function(){
    $(this).children('ul').slideDown("fast");
    },
function(){
    $(this).children('ul').hide();
});

});

1 个答案:

答案 0 :(得分:0)

试试这个:

function(){
  var element=this;
  Timeout( function(){
    $(element).find('>ul').fadeOut('slow')
    }, 2000 );
}