我正在编写自己的动画功能以获得乐趣和东西。
我无法真正获得平滑动画。 jQuery每个动画的步数比例非常高,使得它非常流畅,我想知道他们用什么通用公式来计算要采取的步骤。
答案 0 :(得分:4)
这取决于动画的持续时间。 jQuery使用存储在jQuery.fx.interval
中的默认设置,在第一个动画启动时启动所有动画共有的13 ms间隔计时器,并在所有动画完成后停止。
在unminified jQuery source code中搜索animate:
,custom:
,interval:
和step:
。其中最后一个包含确定已经运行的动画部分的逻辑,该逻辑基于时间戳:纯JS中的new Date().getTime()
。
理论上这可以产生大约80帧/秒,比当今大多数液晶显示器的60 Hz刷新率快。如果性能有问题,你可能会稍微降低帧速率(增加间隔)。