ul菜单停止.fadeOut()函数

时间:2013-06-13 09:17:33

标签: jquery menu jquery-animate html-lists

我为wordpress制作了一个ul菜单。我将菜单项作为列表项,在某些情况下还有子菜单。我有display:none;子菜单,但是如果你将父母悬停,它就会滑落。 用光标移开后,它会在2秒内淡出子菜单。目前它正如我所描述的那样工作。当我盘旋时,它向下滑动,当我移动光标时,它会淡出,但是当我在淡出时移动光标时,它仍会淡出。 我的问题是:当我将光标移回子菜单时,如何停止淡出功能。

当前代码:

jQuery(function () {
    jQuery('#access li').hover(function () {
        jQuery(this).children('ul').slideDown(200);
    }, function () {
        jQuery(this).children('ul').fadeOut(2000);
    });
});

1 个答案:

答案 0 :(得分:1)

您可以使用.stop()来停止任何当前动画,并通过传递true, true作为参数,它将清除任何动画队列并跳转到最后。

jQuery('#access li').hover(function () {
    jQuery(this).children('ul').stop(true, true).slideDown(200);
}, function () {
    jQuery(this).children('ul').stop(true, true).fadeOut(2000);
});

Docs