我正在编写一个非常酷的 jquery 插件,我发现自己被这最后一点所困扰。基本上我在 mouseenter 和 mouseleave 上为一个元素制作动画。一个很好的例子可以在这个 jsbin中找到,除了在 go 按钮完成动画之前将鼠标悬停在后退按钮上时,它会将图像移出屏幕。假设我知道元素的起始位置,即使动画提前停止,是否有办法阻止元素动画超过其原始位置?我需要.stop()
用于动画。也许这很容易,我只是忽略了。
来自 jsbin 链接的代码片段:
// Start animation
$( "#go" ).mouseenter(function() {
$( ".block" ).stop().animate({ left: "+=100px" }, 2000 );
});
// Start animation in the opposite direction
$( "#back" ).mouseenter(function() {
$( ".block" ).stop().animate({ left: "-=100px" }, 2000 );
});