1

我为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);
    });
});
4

1 回答 1

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);
});

文档

于 2013-06-13T09:23:42.447 回答