javascript - 延迟后的 jQuery slideUp

标签 javascript jquery

我有一个导航菜单子(monad) ul,当它的父 li 悬停在鼠标上时,它会进行动画处理。当鼠标退出时它也会向上滑动。但是,我试图让它在向上滑动之前延迟 1 秒。我希望 child ul 在鼠标离开后保持打开状态 1 秒钟。但是,它仍然立即向上滑动。这里有什么问题吗?

    $(".ipro_menu li>ul").hide(); // Hide all

$(".ipro_menu li").mouseenter(function() {
    $(this).children("ul").slideDown();
}).mouseleave(function() {
    $(this).delay(1000).children("ul").slideUp(); // Wait 1 sec before sliding up
});

最佳答案

错误的顺序,在延迟动画之前获取元素,否则延迟应用于 this,而不是它的子元素。

$(this).children("ul").delay(1000).slideUp();

关于javascript - 延迟后的 jQuery slideUp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23503740/

相关文章:

javascript - 为拖放的 selenium UI 集成测试执行 Javascript - Java

javascript - 如何更新数组对象的数组特定属性

javascript - jQuery Modal 仅在单击后打开一次

javascript - 根据标签值html增加图像边距

javascript - react .js : Uncaught TypeError: undefined is not a function

JavaScript Promise 准备就绪

javascript - 如何使用 attachEvent 引用调用者对象 ("this")

javascript - 未添加 JQgrid 行

javascript - 使用 DataTable JSON 填充下拉列表

javascript - 需要有关 jQuery 插件的帮助 - TextExt 输入