在进行动画制作时,是否可以让动画的速度达到最大值。因此它应该正常运行,当速度达到一定值时,它应该保持在这个最大速度。
我如何实现这一目标?
答案 0 :(得分:0)
这听起来很像一个缓和的问题,但除了自己制作数学和技术诀窍外,你总是可以选择连续两个动画。
$('#foo')
.animate({ /* start off the animation */ }, 1000, 'swing')
.animate({ /* finish the animation */ }, 1000, 'linear')
;
......或类似的东西。
请记住,相同(元素)队列上的动画,而不同动画上的动画并行运行。
答案 1 :(得分:0)
最大动画速度由动画必须移动的距离,动画的持续时间和缓动功能(加速/减速的位置)控制。最简单的例子是线性缓和(恒定速度)。在这种情况下,以像素/秒为单位的速度只是动画移动的总像素距离除以动画的持续时间(以秒为单位)。您可以控制这两个参数(持续时间和距离),以便您可以按照自己喜欢的方式进行设置。
对于非线性动画,整体速度感仍由距离和持续时间决定,但该持续时间间隔内的确切加速度/减速度由缓动函数决定。缓和功能需要稍微习惯才能构建自己的功能,但已经有许多功能已经构建完毕。
jQuery有两个内置的缓动函数,叫做"swing"
和"linear"
。您可以选择许多其他缓动函数,包括jQueryUI中的函数和各种第三方缓动函数,如these。