我刚刚在 jQuery 中创建了一个简单、连续的反弹效果,但我觉得代码并没有那么优化,我希望对其进行改进。
var $square = $("#square");
bounce();
function bounce() {
$square.animate({
top: "+=10"
}, 300, function() {
$square.animate({
top: "-=10"
}, 300, function() {
bounce();
})
});
}
$square.hover(function() {
jQuery.fx.off = true;
}, function() {
jQuery.fx.off = false;
});
我所做的基本上是创建一个动画,将 +10 添加到元素的顶部坐标,作为回调函数,我从顶部坐标中减去 10..
这会产生(几乎平滑的)反弹效果,但我觉得可以改进。
此外,我想停止动画mouseenter
,并让它继续mouseleave
。
stop(true, true)
没有用,也没有,dequeue()
所以我求助于关闭所有动画效果jQuery.fx.off = true
(愚蠢,不是吗?)
我将不胜感激有关如何优化此功能的任何反馈。
这是一个jsFiddle。
编辑:我刚刚意识到 jQuerytoo much recursion
在禁用和重新启用效果时开始抛出错误。
提前致谢,
马尔科