十个常用的JavaScript动画库

更新日期: 2022-03-13阅读: 1.2k标签: 动画

添加只需要一个动作的简单动画(例如,切换)是一回事。对于这一点,你总是可以使用简单的css动画。但是,对于更复杂或高级的效果。 JavaScript是一个更好的工具。不言而喻,使用JavaScript来创建动画比使用CSS更具挑战性。

然而,JavaScript可以处理CSS所不能处理的事情。这给了开发者更多的权力来控制需要协调多个移动部件的复杂动画。

JavaScript动画是通过在一个元素的样式上添加渐变来实现的。你可以把它们作为你代码的一部分在线添加,或者把它们包含在其他对象中。在渲染时,这些变化由一个定时器调用。另外,你可以通过调整变化的时间间隔来控制动画的连续性。

1. Anime.js

让我们从Anime.js开始这个JavaScript动画库的列表。这个轻量级的动画库在GitHub上有35K多颗星。 通过一个强大的api工作,你可以用它来为html、CSS、JS、SVG和dom属性制作动画。通过一个内置的交错系统,它可以使创建波纹、定向运动、跟随和重叠的效果显得很简单。这个系统在定时和属性上都是可用的。

使用内置的回调和控制函数,你可以做很多事情。例如,你可以同步播放、暂停、控制、逆转和触发事件。

2. Velocity.js

Velocity.js结合了jquery和CSS转换的优点。它的评分接近17K星,在 GitHub上有接近17K颗星,并拥有像WhatsApp和Motorola这样的杰出用户。 Mailchimp.循环、反转、延迟、隐藏/显示元素、属性数学(+、-、*、/)和硬件加速,都是其功能的一部分。

你可以使用Velocity.js来滚动 browser windows.它既可以与浏览器中加载的jQuery一起工作,也可以独立于它,甚至可以撤消之前的动画效果。

3. Popmotion

在接近 18K星,Popmotion是一个适用于任何JavaScript环境的功能性动画库。它几乎可以与任何接受数字输入的API一起工作,如 react,Three.js,A-Frame和PixiJS。

Popmotion的重量只有11.7kB,但却很有冲击力。它的特点是动画,如关键帧、衰减、用于同步多个实例的时间线等。你可以错开任何系列的动画或函数,也可以使用纯函数来组成你自己的配置。

4. Three.js

Three.js以60K以上的星级在这个JavaScript动画库列表中排名第一。 它依靠的是 WebGL来创建和渲染浏览器中的3D动画。

有大量的文档可以帮助你,一旦你通过了学习曲线,使用这个库就没有什么不能完成的。首先,使用Three.js编辑器,你可以创建一个场景。此后,你可以添加几何图形,并调整灯光和摄像机。材料、纹理、物体、颜色和雾化都可以进行调整,最后的文件可以发布到你的项目中。

5. GreenSock JS

GreenSock的GSAP与一组小的JavaScript文件一起工作,使动画在所有主要的浏览器中看起来很好。它能顺利地将多个动画属性连接起来,并消除浏览器的错误。

GSAP的动作包括在Canvas上创建动画,以及为场景中的任何对象制作动画。还可以逐步揭示、变形或沿路径移动任何对象。为此,它与一堆软件应用一起工作,如SVGPlugins、PixiPlugin、WebGL、Adobe Animate和EaseJS。它的模块化结构有助于你选择你需要的功能。拥有800万用户和10K+颗星的 GitHub上有800万用户和10K多颗星,这个强大的库有很多优点。

6. AniJS

在这个列表中的JavaScript库中,AniJS有些独特。它允许你在一个简单的 "句子 "结构中为元素添加动画,这对刚接触动画的人来说是很好的。更重要的是,它的非特定性质使得几乎每个人都可以在日常的用户体验设计中使用它。

上 GitHub,AniJS的评分超过了3.5K星。它不依赖任何第三方库,通常有助于加快开发速度。它在安卓和iOS上都能很好地工作。 Android and iOS,也可以在所有流行的浏览器中使用。

7. Mo.js

运动图形在动画中起着很大的作用,Mo.js是一个可以让你产生影响的选择。由于有大量的教程和演示帮助,初学者可能不会发现创建几何形状和时间动画的难度。

这些API可能看起来很简单,但你可以用它们做很多事情。在这个工具包中,你会发现一个曲线编辑器和时间线编辑器来帮助你建立你的动画,以及一个播放器来控制你的动画。有不同的模块用于交错、缓和、时间线和更多。所有这些为Mo.js赢得了接近16K星的评价。

8. Vivus.js

如果你想在屏幕上实时地模仿钢笔画,你会用Vivus达到目的。它可以让你对SVG进行动画处理,给人以被绘制的感觉。由于它没有任何依赖性,所以它是快速和轻便的。

你可以选择任何一种可用的动画 - 延迟、同步或OneByOne。否则,你也可以创建一个自定义脚本来绘制你的SVG。为了提高灵活性,你可以用一个简单的JavaScript函数来覆盖每个路径的动画。超过1.3万名用户对这个库竖起了大拇指。

9. ScrollReveal JS

如果你希望在你的网页元素滚动进入视图时为它们制作动画,ScrollReveal不会让你失望。这个简单易学的动画库没有任何依赖性,在GitHub上有18.5K多颗星。

ScrollReveal支持不同类型的效果,在网络和移动浏览器上运行良好。它故意用一个裸露的配置来工作,所以你可以把它作为你的创造力的画布。为了使动画的效果最大化,创作者建议你少用它。

10. Typed.js

Typed.js是一个简单的库(更像是一个插件,真的),用于在你的屏幕上对打字进行动画处理。一旦你输入任何字符串,访问者就可以看到它以设定的速度被打出来。不仅如此,你还可以操作退格按钮,以及开始一个新的句子。如果你希望让禁用JS的访问者也能看到,你只需要在页面上放置一个HTML div。这样一来,机器人和搜索引擎也能查看输入的文字。

该库在GitHub的评分为9.5K+星,强大的用户包括Slack和Envato。

11. Lottie by AirBnB

Lottie是一种轻量级的动画图形格式,平衡了高质量的图形和渲染成本。它使应用程序更小,并包括动态功能。它可以用于网络、安卓、iOS和物联网,不需要额外的软件。

Lottie可以在任何支持JavaScript的浏览器上运行。动画是以纯文本形式存储的,是人类可读的。由于文本数据是以JSON格式存储的,它很容易被任何JavaScript环境同化。这使得它成为一种流行的动画图形格式,以增强移动前端


链接: https://www.fly63.com/article/detial/11257

纯CSS3实现各种表情动画

CSS3非常强大,我们可以利用CSS3相关特性绘制很多平面图形,并且可以制作很多简单的动画。今天要分享的是一款用纯CSS3实现的可爱表情动画

Vue.js动画笔记_vue实现动画效果

Vue.js中的元素动画或页面跳转动画有多种实现方式比如:1、自己手动写CSS3动画来实现2、使用第三方CSS动画库如:Animate.css3、在构子函数中操作DOM4、使用第三方Js动画库如:Velocity.js。

新手引导动画的4种实现方式

尽量多的列举出新手引导动画的实现方式, 昨天稍微总结了一下, 实现了4种.源码在最后,如果想直接看结果的,可以拉到最后去看.这里假设所有的弹出层都是基于页面上原有的元素

为何 Canvas 内元素动画总是在颤抖?

在项目中我们可能对动画进行锁帧,帧率可能是 60 或者 30,如果我们想保证渲染不抖动,在匀速直线运动中,我们尽量保证我们设置的速度要是帧率的倍数,或者保证平均每帧移动的像素点是一样的

前端开发常用css动画代码

常用的CSS动画效果,在实际开发中经常需要用到移动、大小、闪烁、渐显、渐隐等动画效果,这篇文章就整理了些常见的动画效果分享给大家,一遍收藏使用。

css环形滚动_内容加载的环形滚动动画效果

创建一个没有背景的圆,然后声明透明度为0.1的黑色边框(看起来是灰色),修改左侧边框颜色。此时会有一个静态的看起来只有左边框有颜色的空心圆。然后声明一个该元素逆时针旋转360度的动画,并让该动画无限播放(infinite)即可

css transition 实现滑入滑出

transition是css最简单的动画。 通常当一个div属性变化时,我们会立即看的变化,从旧样式到新样式是一瞬间的,嗖嗖嗖!!!但是,如果我希望是慢慢的从一种状态,转变成另外一种状态,怎么办? transition可以做到。

动画函数的绘制及自定义动画函数

制作动画效果离不开动画运动函数,而我们用得最多的无疑就是Tween.js。根据不同的数学公式原理,Tween.js划分出了不同的动画类型,每种动画类型里面都包含以下的缓动类型:ease in 先慢后快、ease out 先块后慢、ease in out 先慢后快再慢

超酷的CSS3 loading预加载动画特效

这是一款超酷CSS3 loading预加载动画特效。该loading特效共有4种不同的效果,分别通过不同的CSS3 keyframes帧动画来完成。HTML结构:4种loading预加载动画的HTML结构分别如下

Vue 动画的封装

js提供的钩子动画before-enter、enter、after-enter,用这种方法写,所有的动画都写在了组件里,外部只需要调用这个fade组件就可以了,也不需要全局去写一些样式了,这种动画的封装是比较推荐的一种动画封装,因为它可以把所有动画的实现完整的封装在一个组件中

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!