js 动画和jQuery 动画的区别

今天看到书上说jQuery的动画是异步的,然后就反问自己难道JavaScript不是?仔细一想,好像的确不是,js有个时间栈,动画是按时间栈的顺序来的。
我理解的对吗?
还有,如果jQuery动画是怎么实现异步的呢?
(我觉得这个问题蠢到家了)

阅读 4.9k
4 个回答

题主的问题问得不成立。
你先需要理解浏览器动画的原理:

  1. 所有dom相关的动画最终都是通过改变css的值来实现的。

  2. dom动画的实现有两种方式,一种是css3动画,一种是js控制。

  3. css3动画是由浏览器的css布局渲染引擎控制的。通常声明属性初始和终值,设定过渡方式,接下来就交给浏览器自己处理。

  4. js动画不仅需要设定初始和终值,还把过渡方式这个步骤交给js来控制。所以你需要指定每一帧样式变换多少,该怎么变化。

所以,dom动画本质上只有css和js这两种实现方式。js实现方式等于用自主实现了一个精简的css动画渲染控制器。

题主所述的jquery和js动画本质上都是js动画。(jquery动画确实是js控制的,而有些框架的动画是css3控制的)

所谓的jquery动画的异步,只是说提供了一个异步函数用于动画结束后调用,是API特性,不是动画特性。

那你先告诉我,你理解中jsjQuery的关系是什么?

jquery只是上层封装

jQuery的动画会使用到jQuery的队列功能。
js的不清楚
但jQuery是js的封装

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进