如何取消jQuery鼠标删除操作

如何取消jQuery鼠标删除操作,jquery,mouseover,mouseleave,Jquery,Mouseover,Mouseleave,我希望我的div在鼠标离开时滑回起始位置,但如果鼠标再次回到div上方,我希望我的div取消该操作并返回其展开位置 我需要某种方法来停止此操作: $(".logo").mouseleave(function(){ $(".logo").animate({top: '-65px'}, 'slow') }); 这是小提琴:是你问题的答案 因为要在动画所在的位置停止动画,而不是快速完成动画,所以要使用 .stop(true, false) 在你的元素上 以下

我希望我的div在鼠标离开时滑回起始位置,但如果鼠标再次回到div上方,我希望我的div取消该操作并返回其展开位置

我需要某种方法来停止此操作:

    $(".logo").mouseleave(function(){
            $(".logo").animate({top: '-65px'}, 'slow')
    });
这是小提琴:

是你问题的答案

因为要在动画所在的位置停止动画,而不是快速完成动画,所以要使用

.stop(true, false)
在你的元素上

以下是应用于您案例的stop()演示:

这是添加了延迟的示例:

最后,只有当关闭动画当前正在运行时,此选项才允许在mouseenter上展开。否则,您需要单击div重新打开:

是您问题的答案

因为要在动画所在的位置停止动画,而不是快速完成动画,所以要使用

.stop(true, false)
在你的元素上

以下是应用于您案例的stop()演示:

这是添加了延迟的示例:


最后,只有当关闭动画当前正在运行时,此选项才允许在mouseenter上展开。否则,您需要单击该div重新打开:

确定最终到达本文的底部。用户点击切换。Div打开。用户离开div。它等待700毫秒,然后关闭。如果用户在关闭时中断它,它将重新打开。如果用户没有中断,它将重置

注意
.delay()
.animate()
配合不好,所以会变得很复杂,但我相信有一种更简单的方法可以做到这一点

另外请注意,我绑定了自定义事件
openme
,以避免两次写入同一动画行(一次在鼠标上方,一次单击按钮)


好的,最后我要追根究底了。用户点击切换。Div打开。用户离开div。它等待700毫秒,然后关闭。如果用户在关闭时中断它,它将重新打开。如果用户没有中断,它将重置

注意
.delay()
.animate()
配合不好,所以会变得很复杂,但我相信有一种更简单的方法可以做到这一点

另外请注意,我绑定了自定义事件
openme
,以避免两次写入同一动画行(一次在鼠标上方,一次单击按钮)



你能澄清一下吗:用户点击切换,鼠标离开。logo,鼠标进入。logo没有点击切换,这就是你想要它再次展开的地方。这里仍然需要一些澄清。您可以列出从“页面加载。Div已折叠。用户悬停在Div上”开始的事件链吗?用户单击切换,Div展开,光标离开Div等待几毫秒,然后返回到较小的大小,但在等待期间,或在slideup动画期间,光标返回,Div返回到展开状态。我为问题的不清晰表示歉意。您能否澄清:用户单击切换,鼠标离开。徽标,鼠标进入。徽标未单击切换,这是您希望它再次展开的地方。此处仍需要一些澄清。您可以列出从“页面加载。Div已折叠。用户悬停在Div上”开始的事件链吗?用户单击切换,Div展开,光标离开Div等待几毫秒,然后返回到较小的大小,但在等待期间,或在slideup动画期间,光标返回,Div返回到展开状态。我为问题的不清晰表示歉意。他们不是在问“动画正在等待上一个动画完成”问题中的引语:“我希望我的div取消该操作”“如果鼠标再次滑过div”。停止()不是他们所需要的全部。他们希望脚本记住被点击时的切换,如果是的话,在鼠标悬停时展开。正如你在评论中所说:澄清!因为“我需要一些方法来停止这个动作:”正是我回答的问题…我想要的是,在一定的延迟下打开鼠标,但中断并返回到展开位置,如果鼠标再次回到div,我不会问“动画正在等待上一个动画完成”问题中的引语:“如果鼠标再次滑过div,我希望我的div取消该操作”“。stop()不是他们所需要的全部。他们希望脚本记住已单击切换,如果是,则在悬停时展开。正如您在评论中所说:澄清!因为“我需要某种方法来停止此操作:“这正是我所回答的问题……我想要的是,在一定延迟的情况下切换鼠标,但如果鼠标再次回到div,则中断并返回展开位置。这几乎是我想要的,但我只希望在单击切换时面板展开。我想在它自动滑动之前有一些延迟,大约700ms,非常感谢你,所以你根本不想让它崩溃?用户点击切换,div展开,光标离开div等待几毫秒,然后返回到小尺寸,但是在等待期间,或者在slideup的动画期间,光标返回,div返回到展开状态。我为问题的不清晰表示歉意。因此,如果用户让它完全折叠,它在再次单击“切换”之前不会重新打开?没错!单击时只需展开,而不是在鼠标上方。这几乎是我想要的,但我只希望面板在单击切换时展开。我想在它自动滑动之前有一些延迟,大约700ms,非常感谢你,所以你根本不想让它崩溃?用户点击切换,div展开,光标离开div等待几毫秒,然后返回到小尺寸,但是在等待期间,或者在slideup的动画期间,光标返回,div返回到展开状态。我为问题的不清晰表示歉意。因此,如果用户让它完全折叠,它在再次单击“切换”之前不会重新打开?没错!只需在单击时展开,而不是在鼠标悬停时展开