激活 .stop() 后,将元素返回到其起始位置
return an element to its starting position after .stop() is activated
我正在写一个非常酷的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 );
});
>stop
接受控制动画如何离开的参数。您可能希望使用 .stop(true, true)
,它会在停止动画时将动画跳到最后:
$( ".block" ).stop(true, true).animate({ left: "+=100px" }, 2000 );
。但它可能有点跳跃。
或者,正如您所说,你知道元素从哪里开始,只需将其返回到那里:
$( ".block" ).stop().css(originalPosition).animate({ left: "+=100px" }, 2000 );
。其中originalPosition
是一个对象,大概是具有属性left
和top
的对象。这可能也有点跳跃,这取决于您的用例的具体情况。
或者,同样,当您拥有原始位置时,您可以动画化回该位置(或前进到该位置 + 100px,具体取决于)。
相关文章:
- 如何将返回的值应用于多个不同位置的多个选择器
- 为更改的输入返回插入符号位置的逻辑
- float's未返回到移动视图结束后的位置
- Sammy.js缓存和滚动位置时,返回历史
- 谷歌位置api获取细节,并不是每个地方都返回
- 在从索引位置返回的字符串中查找空白
- 为什么 javascript 返回对象位置 true 或 false
- 地理位置无法返回确认
- 需要呈现MongoDB查询返回结果的特定索引/位置
- 计算地理位置距离返回 NaN
- 为什么&此脚本返回的位置未定义
- JSON获取地理位置在HTML中未返回值
- 如何解析html以删除元素并只返回其位置的标题
- 当向上滚动时,使Div返回到其原始位置
- 谷歌自动完成API首先返回我所在州的位置;预期的“;地方
- Javascript 函数返回位置 [0] 中的整个数组
- 打开/返回位置权限对话框
- 如果php返回位置头,我如何在jquery ajax中定位页面
- 领英Javascript SDK无法返回位置
- Deezer JS API返回位置:http://www.mydomain.com.br/dz/channel.html