jQuery的动画实现原理 就是最普通的逐帧动画(定格动画)*:
简单的说,根据duration、缓动公式(比如线性)和当前时间计算出下一帧的状态(即是DOM元素的css改变咯),用一个定时器(只用一个)作为update函数(这样就可以控制动画帧率了)~
很简单,如需详细解释可以看看下面这些参考:
jQuery源码分析-16动画分析和扩展 Effects http://nuysoft.iteye.com/blog/1172137
javascript的缓动效果 http://www.cnblogs.com/rubylouvre/archive/2009/09/16/1566699.html
掌握了jQuery实现,不难进一步控制其动画,我曾经写过一个控制动画快进、暂停等的jQuery插件:
https://github.com/filod/jquery-animation-controller
*http://zh.wikipedia.org/zh/%E5%AE%9A%E6%A0%BC%E5%8A%A8%E7%94%BBAE%9A%E6%A0%BC%E5%8A%A8%E7%94%BB