如何防止菜单系统的jQuery事件堆叠?

时间:2013-11-16 15:43:02

标签: jquery

我已经构建了一个使用悬停功能显示子菜单项的菜单。有几个父母有孩子,有一个有孙子。我的问题是,如果你快速将鼠标悬停在父菜单项上几次然后移开鼠标,它们将继续淡入淡出。

这很烦人,怎么能阻止它?

jQuery目前看起来像这样:

$(document).ready(function(){
        $('menu li').hover(function () {
                $(this).children('ul').fadeIn();
            }, function () {
                $(this).children('ul').fadeOut(5000);
            });
    });

我在jsfiddle中将它全部弹出:http://jsfiddle.net/8gsb5/

非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

尝试.stop(true,true)

$(document).ready(function () {
    $('menu li').hover(function () {
        $(this).children('ul').stop(true, true).fadeIn();
    }, function () {
        $(this).children('ul').stop(true, true).fadeOut(5000);
    });
});

fiddle Demo