我的 jQuery 导航菜单上滑得太快了

My jQuery navigation menu slides up too soon

我有一个导航菜单。 Child ul 在parent li 鼠标悬停时向下滑动。当鼠标退出时它也会向上滑动。但是,我试图让我的第一个和第二个 sub-menu 在它向上滑动之前延迟 1 秒。我希望 child ul 在鼠标离开后保持打开状态 1 秒。但是,它仍然立即向上滑动。我的代码中缺少什么?

这是我的代码的 link。 https://jsfiddle.net/naeemrind/ptbzwrzu/

$(document).ready(function(){
$("#menu ul li").hover(function(){
            $(this).find(".one").stop().slideToggle(400)
        });
    });

     $(document).ready(function(){
        $("#menu ul ul li").hover(function(){
            $(this).find(".two").stop().slideToggle(400)
        });
    });

您没有为 hover() 提供 'handlerOut' 函数,因此它对 hover-in 和 hover-out 使用相同的函数。

https://api.jquery.com/hover/

将您的代码更改为:

$("#menu ul li").hover(
    function() {
         $(this).find(".one").stop().slideDown(400)
    },
    function() {
         $(this).find(".one").delay(1000).slideUp(400)
    });
});