网站首页 > 技术文章 正文
GSAP 全称为 GreenSock Animation Platform,是 GreenSock 提供的一个制作动画的成熟的JavaScript库。该库源于Flash的动画。这也意味着GreenSock背后的团队对Web动画了如指掌,因此,你可以随心所欲的施展你的想法。
国内虽然有GSAP中文网,但是文档还是2.x版本,如果使用最新的版本(3.x),可能需要去官网了解。官方建议使用GSAP3,因为GSAP 3使用起来更容易,而且有很多改进。它向后兼容大多数GSAP 2功能,但有些部分可能需要更新才能正常工作。下面我们就先说说和GSAP2版本的区别.
版本对比
在2.x版本中,GSAP有四个模块。
TweenLite
TweenLite是GSAP的主体核心,它用于创建基本动画,是其他各类模块的基础。一般都会搭配plugins/CSSPlugin以实现DOM元素的动画。
TimelineLite
TimelineLite是一个叫做时间轴的动画容器,它用于对多个动画进行有序的组织与控制。
TimeLineMax
TimeLineMax是TimelineLite的升级版,在TimelineLite的基础之上,可以有更高级的组织与控制。
TweenMax
TweenMax是GSAP集合包,除前面3个之外,还包括plugins里的常用插件以及easing里的缓动函数补充。
而在3.x版本中,四个模块合并到了一个gsap对象中,使得文件体积更小,api更加简洁,同时3.x版本也增加了一些新的特性。
安装及引入
如果项目使用依赖包引入方式,我们可以用npm或者yarn
# npmnpm i gsap --save
# yarn
yarn add gsap
# 引入
import { gsap } from 'gsap';
如果是常规cdn或者相对路径引入方式
<script src="js/gsap.min.js"></script>创建一个简单动画
动画就是要动,可能是调整目标位置,改变目标大小等,最终产生一种视觉效果。使用GSAP创建动画很简单。
gsap.to('#box', { duration: 2, delay: 1, x: 300 })上面这句代码就是将id为box的元素 从初始位置在 x 轴平移 300px,开始到结束时间为2秒钟,延迟1秒钟。
还有另外两种方法可以快速创建一个动画gsap.from()及gsap.fromto(),包括这三种下一篇我们详细讲解。
猜你喜欢
- 2024-11-17 JavaScript爆款进度条组件—NProgress.js
- 2024-11-17 2021 EHA | 急性髓系白血病治疗方案与预后因素的探索
- 2024-11-17 python txt文件截取数据处理(python如何将txt文件中的字段提取到excel中)
- 2024-11-17 手把手教你发布vue组件到npm(vue怎么发布)
- 2024-11-17 n8n:一个可扩展的工作流程自动化工具
- 2024-11-17 如何解决使用npm安装vue脚手架报错问题?20个常见解决方法汇总!
- 2024-11-17 圆锥曲线:代点法求轨迹方程(代入法求圆的轨迹方程)
- 2024-11-17 ubuntu安装最新的node(ubuntu 安装nodejs npm)
- 2024-11-17 遗传学特征对老年急性髓系白血病患者MRD和移植结局的影响
- 2024-11-17 yarn更换为淘宝镜像(npm改淘宝镜像)
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 526℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 492℃MySQL service启动脚本浅析(r12笔记第59天)
- 472℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 469℃启用MySQL查询缓存(mysql8.0查询缓存)
- 449℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 429℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 426℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)