一款 Js 动画库,简单几行代码就能写出丝滑流畅、高性能的动画效果
使用简单,但做出来的动画非常丝滑,也能实现很多专业的动画效果,推荐给大家。
GSAP 的全名是 GreenSock Animation Platform,项目诞生非常早,远在 flash 繁荣的时代就存在,一直发展到今天已经是 3.x 版本,这是一个适用于现代浏览器的专业动画库,让开发者通过简单的调用,就能够做出看起来非常复杂而又丝滑高级动画效果。
GSAP 官网
- 经过多年的优化,动画效果丝般流畅,尤其是移动端表现,吊打很多知名的动画库,让我们的项目交互操作响应迅速、高效且流畅
- 专业级动画库,功能强大。GSAP 是为专业动画构建的 JavaScript 动画库,支持动画颜色,贝塞尔,css 属性,数组、动态平滑反转,相对值,自动适应等动画参数,在它面前,其他动画引擎看起来像廉价玩具一样
- web 兼容性强。无论是新浏览器还是旧浏览器,甚至是手机浏览器,GSAP都能很好地运行。无论是纯 HTML,SVG 动画,React,Vue,Angular,jQuery,Canvas,CSS 等,这些技术都可以随意搭配,不用再为选择什么开发框架而头痛
- 轻量无依赖。GSAP 不是建立在譬如 jQuery 这样的第三方工具上的,因此可最大程度地减少加载时间并最大限度地提高性能,更重要的是几乎和你使用的其他 JS 工具库没有什么冲突
- 模块化的构建,灵活高效,可以通过插件添加几乎任何功能
前端如今发展非常火热,JavaScript 能做的事情也越来越多了,我们开发的项目中对交互动效的要求也越来越高,对于一款起初用来强化 web 界面交互体验的脚本语言,随着浏览器内核越来越庞大,实现高性能、流畅的动画,一直以来都不是一件容易的事,特别是在移动端浏览器上,稍微复杂一点的动画,有时运行起来简直是灾难。
今天介绍的 GSAP 就是一个专业的 web 动画工具库,访问 GSAP 的官网,映入眼帘的就是一组非常酷炫的动画效果,第一眼看到时,我一度以为这是一段使用 AE 做出来的视频,整个动画运行实在是太丝滑流畅,让人很难想到这是 JavaScript 做出来的。
下面来看看怎么 GSAP 的使用到底能多简单。
通过 CDN 引入
或者通过 NPM 安装
这样就是实现下图这样的动画效果:
代码示例动画效果
GSAP 还可以通过序列、补间动画实现更高级的动画效果,详细的用法可以阅读官方的开发文档。
GSAP 文档
借助插件还能实现更多动画效果,引入插件的方式:
想要提前了解到底 GSAP 可以做成那些动画效果,可以在 GSAP 首页的底部查看使用 GSAP 构建动画的真实例子,连谷歌都推荐开发者使用 GSAP 来构建 web 应用的动画,如果对 web 动画感兴趣,或者工作中涉及,强烈推荐大家去研究尝试。
GSAP 是由 GreenSock 开发的 web 动画库项目,需要注意的是,该项目没有使用常见的 MIT 开源协议,而是使用自己的许可,同样也是完全免费的许可,除了非常特定的商业用途(比如转售给多个客户)之外,其他要求非常宽松,也可以免费授权用在商业用途中,想要进一步了解可以去阅读完整的许可说明。
关注我,持续分享高质量的免费开源、免费商用的资源。
↓↓点击查看本次分享的网址。
2022年最好的10个JavaScript动画库
如果你想抓住你的网站访问者的注意力,还有什么能比动画更好呢?使用网络上免费提供的许多应用引擎,你可以很容易地让你的网站元素褪色、跳动或嗖嗖作响。在今天的文章中,我们将看到JavaScript动画库如何帮助实现这一切。
首先,介绍一下JavaScript的动画
添加只需要一个动作的简单动画(例如,切换)是一回事。对于这一点,你总是可以使用简单的CSS动画。但是,对于更复杂或高级的效果。 JavaScript是一个更好的工具。不言而喻,使用JavaScript来创建动画比使用CSS更具挑战性。
然而,JavaScript可以处理CSS所不能处理的事情。这给了开发者更多的权力来控制需要协调多个移动部件的复杂动画。
JavaScript动画是通过在一个元素的样式上添加渐变来实现的。你可以把它们作为你代码的一部分在线添加,或者把它们包含在其他对象中。在渲染时,这些变化由一个定时器调用。另外,你可以通过调整变化的时间间隔来控制动画的连续性。
让我们从Anime.js开始这个JavaScript动画库的列表。这个轻量级的动画库在GitHub上有35K多颗星。 通过一个强大的API工作,你可以用它来为HTML、CSS、JS、SVG和DOM属性制作动画。通过一个内置的交错系统,它可以使创建波纹、定向运动、跟随和重叠的效果显得很简单。这个系统在定时和属性上都是可用的。
使用内置的回调和控制函数,你可以做很多事情。例如,你可以同步播放、暂停、控制、逆转和触发事件。
Velocity.js结合了jQuery和CSS转换的优点。它的评分接近17K星,在 GitHub上有接近17K颗星,并拥有像WhatsApp和Motorola这样的杰出用户。 Mailchimp.循环、反转、延迟、隐藏/显示元素、属性数学(+、-、*、/)和硬件加速,都是其功能的一部分。
你可以使用Velocity.js来滚动 browser windows.它既可以与浏览器中加载的jQuery一起工作,也可以独立于它,甚至可以撤消之前的动画效果。
在接近 18K星,Popmotion是一个适用于任何JavaScript环境的功能性动画库。它几乎可以与任何接受数字输入的API一起工作,如 React,Three.js,A-Frame和PixiJS。
Popmotion的重量只有11.7kB,但却很有冲击力。它的特点是动画,如关键帧、衰减、用于同步多个实例的时间线等。你可以错开任何系列的动画或函数,也可以使用纯函数来组成你自己的配置。
Three.js以60K以上的星级在这个JavaScript动画库列表中排名第一。 它依靠的是 WebGL来创建和渲染浏览器中的3D动画。
有大量的文档可以帮助你,一旦你通过了学习曲线,使用这个库就没有什么不能完成的。首先,使用Three.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环境同化。这使得它成为一种流行的动画图形格式,以增强移动前端。仅仅是安卓版本就有接近3万颗星。
JavaScript魔法:如何用几行代码实现令人惊艳的页面动态效果
随着互联网的发展,网页的视觉效果越来越重要。为了吸引用户的注意力和提升用户体验,页面动态效果成为了不可或缺的一部分。JavaScript作为一种前端开发语言,可以帮助我们实现各种各样的页面动态效果。本文将介绍一些常见的页面动态效果,并提供实例代码供参考。
一、利用CSS和JavaScript实现简单的动态效果
1.1 利用CSS过渡效果实现淡入淡出效果
通过CSS的transition属性和JavaScript的classList方法,可以实现元素的淡入淡出效果。下面是一个实例代码:
1.2 利用CSS动画实现元素的旋转效果
通过CSS的@keyframes规则和JavaScript的classList方法,可以实现元素的旋转效果。下面是一个实例代码:
二、利用JavaScript实现更复杂的动态效果
2.1 实现元素的平移和缩放
通过JavaScript修改元素的样式属性,可以实现元素的平移和缩放效果。下面是一个实例代码:
2.2 实现元素的颜色变化
通过JavaScript修改元素的样式属性,可以实现元素的颜色变化效果。下面是一个实例代码:
三、注意事项与最佳时间
3.1 优化性能
在实现动态效果时,要注意优化性能,避免因频繁的DOM操作导致页面卡顿。可以使用节流函数来限制事件的触发频率,减少不必要的DOM操作,提高页面性能。
3.2 兼容性考虑
在使用JavaScript实现动态效果时,要考虑不同浏览器的兼容性。可以使用现代化的JavaScript库或框架来解决兼容性问题,比如jQuery、React等。
结语:
通过本文的介绍,相信你已经掌握了一些利用JavaScript实现网页动态效果的技巧。记住要优化性能,考虑兼容性,并创造炸裂的动态效果来吸引用户的注意。
(内容仅供参考)
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。