0

我创建了一个 div,点击时它会下降到屏幕底部。它需要反弹,所以我使用了“easeOutBounce”作为缓动效果。它工作得很好,但客户要求它“更有弹性”。我知道我可以减慢动画的速度,但我真的不希望对象移动得更慢,我只想让它反弹得更多。我想,重力更小。

这是jQuery:

$( document ).click(function() {
    $( "div" ).animate({ top: 400 }, { duration: 2000, easing: 'easeOutBounce' });
});

这是一个小提琴:http: //jsfiddle.net/NtkNB/1/

我真的很难找到有关此特定效果的文档,并想知道是否有人可以建议如何配置当前设置以获得所需的效果,或者是否有任何更高级的动画效果可以做到这一点,我可以插入。

谢谢

4

1 回答 1

2

这个问题很老,但似乎没有得到回答。发生在它身上,因为我只有相反的问题(div需要“不那么有弹性”)。我想出的解决方案是一个二次方程来控制每次反弹(也许不是最优雅的)。这是一个 jsfiddle: http: //jsfiddle.net/NtkNB/194/ 这个比默认的 jquery 动画没有弹性。为了让它更有弹性,你只需要改变方程,这有点痛苦。

var thing = (-17.34*x*x)+(14.351*x)-2.944;

我用 wolfram 确定:http ://www.wolframalpha.com/input/?i=quadratic+through+%28.343%2C0%29%2C%28.4715%2C.1%29%2C+%28.6%2C0%29

于 2014-07-23T19:35:11.180 回答