延迟后jQuery slideUp

时间:2014-05-06 19:53:09

标签: javascript jquery

我有一个导航菜单子动画,当它的父李用鼠标悬停时动画。当鼠标退出时,它也会向上滑动。但是,我试图让它在向上滑动之前延迟1秒。我希望孩子在小鼠离开后保持开放状态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
});

1 个答案:

答案 0 :(得分:4)

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

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