美文网首页
css动画和js动画比较

css动画和js动画比较

作者: TurnHug | 来源:发表于2023-10-15 14:48 被阅读0次

JS动画(逐帧动画)

首先,在js动画是逐帧动画,是在时间帧上逐帧绘制帧内容,由于是一帧一帧的话,所以他的可操作性很高,几乎可以完成任何你想要的动画形式。但是由于逐帧动画的帧序列内容不一样,会增加制作负担,且资源占有比较大。但它的优势也很明显:因为它相似与电影播放模式,很适合于表演很细腻的动画,如3D效果、人物或动物急剧转身等等效果。但是,如果帧率过低的话,会帧与帧之间的过渡很可能会不自然、不连贯。

js是单线程的脚本语言,当js在浏览器主线程运行时,主线程还有其他需要运行的js脚本、样式、计算、布局、交互等一系列任务,对其干扰线程可能出现阻塞,造成丢帧的情况。

其次,js在做动画的时候,其复杂度是高于css3的,需要考虑一些计算,操作等方便问题。

但是正是由于js对动画的操作复杂度比较高,能对动画有一个比较好的控制,如开始、暂定、回放、终止、取帧等,可以很精确的做到。因此可以js可以通过操作DOM和BOM来做一些酷炫的动态效果,以及爆炸特效,且兼容性比较好。

css3(补间动画)

制作方法简单方便。只需确定第一帧和最后一帧的关键位置即可,两个关键帧之间帧的内容由Flash自动生成,不需要人为处理。当然也可以多次添加关键帧的位置。

因为只设置几个关键帧的位置,所以在进行动画控制的时候时比较弱的。不能够在半路暂停动画,或者在动画过程中不能对其进行一些操作等。

css3在实现一些简单的滑动,翻转等特效的时候会很方便,但是想要做到一些酷炫的效果的时候,其操作往往可能会比js操作有更多的冗余。

css3在做动画的时候,浏览器可以对其进行一些优化,会比js使用更少的占用cpu资源,但是效果足够流畅。

结论
  如果动画只是一些简单的状态切换,滑动等效果,不需要中间的控制过程,css3是比较好的选择,它直接在css文件中就可以实现,并不需要引入太多的js库。而你想做一些复杂的客户端界面,开发一个复杂ui的app,实现一个复杂纹理动画等,需要对页面进行精准的控制计算,js是不错的选择。

相关文章

  • 有用的Vue第三方库

    Animate.css - CSS动画库 Velocity.js - JS动画库 TweenJS - 状态过渡动画...

  • CSS动画和JS动画

    JS动画 缺点(1)代码的复杂度较高;(2)JavaScript在浏览器的主线程中运行,而主线程中还有其它需要运行...

  • JQuery animate.easing

    JQuery动画能实现各种效果,相比css动画、原生JS动画解决了兼容性问题;一般的动画用起来比较简单,通过更改$...

  • Vue.js第4课-Vue中的动画特效(part02)

    四、Vue 中的 Js 动画与 Velocity.js 的结合 1、js 动画 以前讲动画的时候都是通过 css ...

  • css3动画和js动画的比较

    css实现动画:animation transition transformjs实现动画: setInterval...

  • JS动画和CSS3动画的比较

    我们经常面临一个抉择:是使用JavaScript的动画还是使用CSS的动画,下面将对比一下这两种方式 JS动画 优...

  • 开发笔记3-H5页面实现帧动画

    动画的实现方式有以下几种方式:js、css、canvas、gif gif对透明效果支持不好,比较方便,但是现在动画...

  • 【Vue12】JS动画和Velocity.js

    JS动画 前两章主要说的是CSS动画,同样也可以使用JS动画,Vue中提供了很多JS动画的钩子。在transiti...

  • 复习

    动画历史回顾:gif动画->flash动画->js动画->css3动画 过渡动画(即补间动画):用于实现两种状态的...

  • 2018-11-27第九天总结

    一、 动画网页动画可以通过以下几种方式实现(gif、flash 除外),css3 动画SVG 动画JS 动画(包括...

网友评论

      本文标题:css动画和js动画比较

      本文链接:https://www.haomeiwen.com/subject/etmtidtx.html