开发者社区 问答 正文

js 动画和jQuery 动画的区别

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

展开
收起
小旋风柴进 2016-05-30 13:47:59 2081 分享 版权
1 条回答
写回答
取消 提交回答
  • 你先需要理解浏览器动画的原理:

    所有dom相关的动画最终都是通过改变css的值来实现的。
    dom动画的实现有两种方式,一种是css3动画,一种是js控制。
    css3动画是由浏览器的css布局渲染引擎控制的。通常声明属性初始和终值,设定过渡方式,接下来就交给浏览器自己处理。
    js动画不仅需要设定初始和终值,还把过渡方式这个步骤交给js来控制。所以你需要指定每一帧样式变换多少,该怎么变化。
    所以,dom动画本质上只有css和js这两种实现方式。js实现方式等于用自主实现了一个精简的css动画渲染控制器。

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

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

    2019-07-17 19:20:28
    赞同 展开评论