我有一个导航菜单子动画,当它的父李用鼠标悬停时动画。当鼠标退出时,它也会向上滑动。但是,我试图让它在向上滑动之前延迟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
});
答案 0 :(得分:4)
错误的顺序,在延迟动画之前获取元素,否则延迟将应用于this
,而不是它的孩子。
$(this).children("ul").delay(1000).slideUp();