动画库
three.js
https://github.com/mrdoob/three.js/
示例:https://threejs.org/examples/#webgl_animation_keyframes
Anime.js
https://github.com/juliangarnier/anime
Anime.js是一个轻量级的JavaScript动画库,具有功能强大的API,可以处理的动画类型包括:CSS属性、SVG、DOM属性和JavaScript对象。
ScrollReveal
https://github.com/jlmakes/scrollreveal
ScrollReveal是一个用于在元素进入/离开窗口时的JavaScript动画库。
Babylon
https://github.com/BabylonJS/Babylon.js
Babylon.js是一个动画和游戏引擎,主要用JavaScript编写,它提供了内置的WebGPU支持,并支持在桌面和移动端的浏览器上运行。
Mojs
Mojs是一个免费的开源动画库,它提供了数十个非常有用的开源工具,如运动播放器(Mojs播放器)、曲线和时间轴运动编辑器等。
GreenSock
https://github.com/greensock/GSAP
GreenSock是一个高级且超级丰富的JavaScript动画库,允许开发人员轻松创建复杂的动画。它为开发人员提供了DrawSVGPlugin、MorphSVGPlugin和MotionPathPlugin用于创建平滑的SVG动画。
GreenSock默认支持WebGL,它是许多JavaScript游戏开发者为他们的游戏添加效果的最爱选择。
GASP(GreenSock Animation Platform)是一个强大的JavaScript工具集,可以在所有主流浏览器中构建高性能动画。包括:CSS动画、SVG、画布、React、Vue、WebGL、颜色、字符串、运动路径等任何JavaScript所能控制的任何内容!
GSAP的ScrollTrigger插件支持用最少的代码创建令人惊叹的基于滚动的动画。gsap.matchMedia() 函数使得构建响应式、可访问性友好的动画变得轻而易举。
Velocity.js
https://github.com/julianshapiro/velocity
Velocity是一个动画引擎,具有与jQuery的$.animate() 相类似的API。它的速度快得令人难以置信,它的主要特点是支持彩色动画、变换、循环、缓和动画、SVG和滚动等。
Vivus
https://github.com/maxwellito/vivus
https://maxwellito.github.io/vivus/
Vivus是一个轻量级的JavaScript类,没有任何依赖,用于实现SVG动画,使其具有绘制的外观效果。包含有各种不同的动画效果,并可以创建自定义脚本的选项,以任何方式绘制SVG。
TweenJS
https://github.com/CreateJS/TweenJS
TweenJS是一个在JavaScript中使用的简单补间动画库。它的开发是为了与EaselJS库集成,但并不依赖于它。它支持数字对象属性和CSS样式属性的补间动画。
Scene.js
https://github.com/daybrush/scenejs
Scene.js是一个基于JavaScript CSS时间轴的动画库。它附带了许多示例,可以帮助前端开发人员快速入门,创建复杂的对象动画。示例包括:树效果、雪花飘落动画、立方体效果、内容卡旋转、圆爆裂和棋盘动画等。
官网:https://daybrush.com/scenejs/
Animatic
https://github.com/lvivski/animatic
使用Animatic可以轻松地一次为一百多个对象设置动画。可以用于模拟现实的对象,它的大小只有7K。
文档示例:http://lvivski.github.com/animatic/
Typed.js
https://github.com/mattboldt/typed.js/
Typed.js是一个用于实现输入动画的JavaScript动画库。可以根据您设置的速度显示输入的任何字符。以下网站提供了一些例子,可以看看。
示例:https://mattboldt.com/demos/typed-js/
Between.js
https://github.com/sasha240100/between.js
Between.js是一个轻量级JavaScript(ES6)补间动画库,它适用于所有浏览器,并带有简单的API。以下网站可以查看Between.js的各种例子:
数字动画神器!
Just Animate 2
https://github.com/just-animate/just-animate
Just Animate 2是一个功能丰富的动画库,支持时间轴动画、序列、CSS动画,并内置补间引擎。
官网:https://just-animate.github.io/
demos: https://codepen.io/collection/XdNGNb/
PowerGlitch
https://github.com/7PH/powerglitch
PowerGlitch是一个独立的动画库,没有外部依赖项。它利用CSS动画来显示小动画,整个js小于2kb,非常轻量。
Starback.js
https://github.com/zuramai/starback.js
Starback.js用于给网页创建漂亮的星星动画或雪花效果。
Loading animations
https://github.com/Skparab1/loading-animations
这是一个简单的JavaScript加载动画库,它提供了许多带有代码示例的加载动画。
Progressbar.js
https://github.com/kimmobrunfeldt/progressbar.js
https://kimmobrunfeldt.github.io/progressbar.js/
Progressbar.js提供了响应使的进度条动画,带有动画SVG路径,使用内置形状或创建自己的路径,可以根据需要实现自定义动画。动画效果尽享丝滑。
Motus
https://github.com/alexcambose/motus
Motus是一个简单且无依赖性的JavaScript动画库,可以使用Motus创建模拟 CSS 关键帧,实现精美的滚动动画。
Josh.js
https://github.com/mamunhpath/josh.js
Josh.js是一个简单的页面滚动动画JavaScript库。Josh.js无需依赖jQuery,它的后台使用的是Animate.css,因此它允许您创建自己的动画。另外,Josh.js支持ES6并提供ES5的编译版本。
gsap
GSAP(GreenSock Animation Platform)是一个用于创建高性能、跨浏览器的动画的JavaScript库。它提供了许多强大而灵活的API,允许开发者创建各种复杂的动画效果。
特点:
- CSS属性动画:可以对几乎所有CSS属性进行动画处理,包括不常用的属性。
- 时间线控制:提供时间线功能,可以方便地控制动画的序列和并行。
- 缓动函数:内置多种缓动函数,可以创建更自然的运动效果。
- SVG和Canvas动画:支持SVG和HTML5 Canvas元素的动画。
- 复杂动画路径:可以创建复杂的运动路径,实现复杂的动画效果。
- 3D动画:虽然GSAP主要用于2D动画,但也支持一些3D动画效果。
- 插件系统:有丰富的插件系统,可以扩展其功能,比如MorphSVG插件可以创建SVG图形的形变动画。
- 性能优化:GSAP在性能上做了大量优化,可以处理大量的动画而不影响页面性能。
- 跨浏览器兼容性:确保动画在各种浏览器和设备上都能平滑运行。
GSAP的一个关键特点是它对性能的优化,它使用优化的算法和浏览器的请求动画帧(requestAnimationFrame)API来实现流畅的动画效果。
此外,GSAP的API设计得非常人性化,易于学习和使用,同时它还提供了大量的文档和示例来帮助开发者快速上手。
popmotion
Popmotion 是一个函数式、响应式动画库,非常适合创建交互式、基于物理的动画。
特性:
- 函数式编程的强大力量与趣味性完美结合!
- 非常适合交互式和手势驱动的动画。
- 轻量级且灵活,适用于任何项目。
Barba.js
示例:https://barba.js.org/examples/
Barba.js 是一个轻量级的库,用于创建流畅、无缝的页面过渡效果。它非常适合单页应用程序 (SPA),并可以改善用户体验。
特性:
- 易于设置和使用,即使对于初学者也是如此。
- 如黄油般丝滑的过渡效果,瞬间提升用户体验!
- 与其他动画库完美协作。
👌🏻 最佳应用场景: 页面过渡和 SPA。
参考
20个酷炫的开源免费JavaScript动画库,前端开发、游戏开发推荐收藏前端开发不会写动画?分享4个动画库助你打造视觉盛宴