推荐JavaScript动态效果库
翻译:疯狂的技术宅,原文:https://blog.bitsrc.io/11-javascript-animation-libraries-for-2018-9d7ac93a2c59
当我想要在网上找一个简洁的 Javascript 动效库时,总是发现很多“推荐”的库都是缺乏持续维护的。
经过一番研究,我收集了 11 个最好的库,你可以用在自己的项目中。另外我还添加了一些有用但是缺少持续维护的库。
提示:可以用 Bit 来共享你的组件,用它们构建多个项目并与你的团队同步更改。不要重复造轮子。
这里有一些 React spinners(https://bitsrc.io/davidhu2000/react-spinners):

上面的每个组件都可以在站点上找到并测试,可以直接用在自己的项目中。

使用纯CSS
在深入研究这些库之前,不要忘记还有纯 CSS。为什么?因为它是标准的,可以提高性能(GPU),能够提供很好的向后和向前兼容性,它可能是创建动态效果的最有效方式。
1. Three.js

得到超过 43K 的star,这个流行的库是在浏览器上创建 3D 动画的最好的一种方式,它用了 WebGL 。通过提供<canvas>、<svg>、CSS3D 和 WebGL 渲染器,该库可以让我们跨设备和浏览器创建丰富的交互式体验。该库于 2010 年 4 月首次推出,目前仍有近 1000 名参与者开发。
github: https://github.com/mrdoob/three.js/
2. Anime.js

超过20K的 star,Anime 是一个 JavaScript 动画库,可以处理 CSS 属性、单个 CSS 转换、SVG或任何DOM属性,以及 JavaScript 对象。这个库允许你链接多个动画属性、对多个实例进行同步、创建时间轴等。
github:https://github.com/juliangarnier/anime
3. Mo.js

这个库有 14K 的 star,是一个用于 Web 的动态图形工具集,有简单的声明性 API、跨设备兼容性和超过 1500 个单元测试。你可以在 DOME 或 SVG DOME 周围移动你创建的图形或创建唯一的 mo.js 对象。尽管文档有些欠缺,但是示例还是很丰富的,这里有mo.js 的 CSS 技巧的介绍(https://css-tricks.com/introduction-mo-js/)。
github:https://github.com/legomushroom/mojs
4. Velocity
查看codepen上的演示:https://codepen.io/hone/pen/azRzbe
有 15K 的 star,Velocity 是一个快速的 Javascript 动画引擎,有与jQuery的 $.animate(). 相同的API。它具有颜色动画、变换、循环、渐变、SVG支持和滚动。这是 Velocity 高性能引擎的细分(https://www.sitepoint.com/incredibly-fast-ui-animation-using-velocity-js/),这是使用该库的SVG动画的简介(https://davidwalsh.name/svg-animation)。
github:https://github.com/julianshapiro/velocity
5. Popmotion

有 14K 的star,这个库只有 11kb 的大小。它允许开发人员从动作创建动画和交互,动作是可以启动和停止的值的流,并使用CSS、SVG、React、three.js 和任何接受数字作为输入的 API 创建。
github:https://github.com/Popmotion/popmotion
6. Vivus

超过10K的star,Vivus 是一个零依赖 JavaScript 类,可以让你制作 SVG 动画,让它们具有能够被绘制的外观。有很多动画模版可以用,也可以创建自定义脚本来绘制 SVG。不妨亲自去 Vivus-instant (https://maxwellito.github.io/vivus-instant/)看一看实例。
github:https://github.com/maxwellito/vivus
7. GreenSock JS

GSAP 是一个 JavaScript 库,用于创建高性能、零依赖性、跨浏览器的动画,其声称有超过400万个网站在使用。 GSAP 非常灵活,可以与React、Vue、Angular 和 原生 JS 一起使用。 GSDevtools (https://greensock.com/gsdevtools)可以帮助你修改用 GSAP 构建的动画。
github:https://github.com/greensock/GreenSock-JS
8. Scroll Reveal
凭借15K 的star 和零依赖关系,该库为 Web 和移动浏览器提供了简单的滚动动画,能够以动画的方式显示滚动内容。它支持多种简洁的效果,甚至可以让你使用自然语言去定义动画。这是一个简短的SitePoint教程(https://www.sitepoint.com/revealing-elements-scrollreveal-js/)。
github:https://github.com/jlmakes/scrollreveal
9. Hover (CSS)

嗯,这是一个 CSS 库。获得了 20K 的 star,Hover 提供了 CSS3 的强大悬停效果,可用于链接、按钮、徽标、SVG 和图像等,能在CSS、Sass和LESS中使用。你可以找到要在自己的样式表中使用的效果并简单的复制粘贴,或者去引用样式表。
github:https://github.com/IanLunn/Hover
10. Kute.js

一个完全成熟的原生 JavaScript 动画引擎,具有跨浏览器动画的基本功能。不过重点还是代码质量、灵活性、性能和大小(其核心引擎只有17k 大小,压缩包仅 5.5k)。这里是演示(http://thednp.github.io/kute.js/performance.html)。该库也是可扩展的(http://thednp.github.io/kute.js/features.html#performance),因此你可以添加自己的功能。
github:https://github.com/thednp/kute.js/
11. Typed.js
这个有6K star 的库的基本功能是能让你以选定的速度创建一个打字动画。你还可以在页面上放置一个用户不可见的 <div> 标签并从中读取你要输出的内容,并能方便搜索引擎抓取。这个库非常流行而且充满新意。
github:https://github.com/luisvinicius167/ityped
另外还有iTyped:https://github.com/luisvinicius167/ityped
本人除了做前端开发,还在公众号写点文章,欢迎用共同兴趣爱好的朋友关注下,交个朋友噢!

推荐JavaScript动态效果库的更多相关文章
- 【精心推荐】几款实用的 JavaScript 图形图表库
一款好的图表插件不是那么容易找到的.最近项目里需要实现统计图表功能,所以在网上搜罗了一圈,找到一些不错的图表插件,分享大家.众多周知,图形和图表要比文本更具表现力和说服力.这里给大家精心推荐几款实用的 ...
- 向 Web 开发人员推荐35款 JavaScript 图形图表库
图表是数据图形化的表示,通过形象的图表来展示数据,比如条形图,折线图,饼图等等.可视化图表可以帮助开发者更容易理解复杂的数据,提高生产的效率和 Web 应用和项目的可靠性. 在这篇文章中,我们收集了3 ...
- Vis.js – 基于浏览器的动态 JavaScript 可视化库
Vis.js 是一个动态的,基于浏览器的可视化库.该库被设计为易于使用,能处理大量的动态数据.该库由以下几部分组成:一是数据集和数据视图,基于灵活的键/值数据集,可以添加,更新和删除项目,订阅数据集变 ...
- 几款实用的 JavaScript 图形图表库
一款好的图表插件不是那么容易找到的.最近项目里需要实现统计图表功能,所以在网上搜罗了一圈,找到一些不错的图表插件,分享大家.众多周知,图形和图表要比文本更具表现力和说服力.这里给大家精心推荐几款实用的 ...
- ECharts JavaScript图表库 ECharts
ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算.数据视图.值 ...
- 前端开发者常用的9个JavaScript图表库
当前,数据可视化已经成为数据科学领域非常重要的一部分.不同网络系统中产生的数据,都需要经过适当的可视化处理,以便更好的呈现给用户读取和分析. 对任何一个组织来说,如果能够充分的获取数据.可视化数据和分 ...
- 2018年你需要知道的13个JavaScript工具库
译者按: 你可能已经用到Underscore或者Lodash.本文列举了13个常用的JavaScript工具库来提高开发效率. 原文: 11 Javascript Utility Libraries ...
- JavaScript 工具库:Cloudgamer JavaScript Library v0.1 发布
JavaScript 工具库:Cloudgamer JavaScript Library v0.1 发布 研究了一年多的js,也差不多写一个自己的js库了.我写这个不算框架,只是一个小型的js工具 ...
- javascript之 JavaScript 工具库
javascript之 JavaScript 工具库jQuery 目录: 一.查找标签和事件绑定以及操作标签的对比 二.DOM对象和jquery的转换 三.$(document).ready( ) ...
随机推荐
- 【nginx】 配置域名转发到相同地址不同端口下执行相应业务
#doctor upstream doc { server 52.**.**.***:8090; } #patient upstream pat { server 52.**.**.***:8088; ...
- 利用 IntelliJ IDEA 进行代码对比的方法
Sometimes,我们会有这样的需求,即:想对比出两个不同版本代码的区别.如何实现? 第 1 种:如果我们是从 SVN 检出的项目,并且想比较本地代码与从 SVN 检出时的代码相比都有那些区别,可以 ...
- JVM系列1:内存区域
1.JVM运行区域内存划分 2.各内存区域详细介绍 2.1 程序计数器 程序计数器是一块很小的内存区域,它作为前线程所执行的字节码的行号指示器,指向当前class文件的执行代码的行数.字节码解释器工作 ...
- leetcode-easy-string-344 Reverse String
mycode class Solution(object): def reverseString(self, s): """ :type s: List[str] :rt ...
- 为什么重写了equals(),还要重写hashCode()?
解决这个问题得先明白:hashCode 方法用于散列集合的查找,equals 方法用于判断两个对象是否相等. 第一步:具体背景(没有背景的讨论就是在耍流氓) 以HashMap中put方法为背景 第二步 ...
- D4上午
概率和期望DP 概率 某个事件A发生的可能性的大小,称之为事件A的概率,记作P(A). 假设某事的所有可能结果有n种,每种结果都是等概率,事件A涵盖其中的m种,那么P(A)=m/n. 例如投掷一枚骰子 ...
- C# 利用AForge.NET开源类库实现 图像素描效果
引入DLL: using AForge.Imaging; using AForge.Imaging.Filters; //using AForge.Video.DirectShow;可以使用摄像头图像 ...
- OpenCV学习笔记(3)——图像的基本操作
获取图像的像素值并修改 获取图像的属性(信息) 图像的ROI() 图像通道的拆分及合并 1.获取并修改像素值 先读入图像装入一个图像实体,然后该实体相当于一个多维list,可以直接用数组操作提取像素信 ...
- 使用hash方法切割文件
如果有大型数据文件(如每行为url或者ip或者单词等的),以G为单位的,处理的时候需先切分.普通切分方法直接根据数据条数切分,得到的每个文件大小相近. 但是有时需要将相同数据放到相同文件中.可以使用h ...
- 阶段3 2.Spring_02.程序间耦合_3 程序的耦合和解耦的思路分析1
编译时没有对应需要的jar包就报错.这特性就理解为程序的耦合 这种方式,它不是个错误而是个异常.编译的时候没有问题.运行时才会报错. 把注释的代码放开 程序可以正常运行 解决类之前依赖的思路 一个依赖 ...