gsap动画的简单使用
介绍
最近突然需要写一些包含多种动画的首页,偶然找到了gsap,发现是真的好用,这里对其一些api
做下简单介绍。
正文
gsap
是一个javascript
动画库,可以让开发者通过简单的api
完成非常复杂的动画,包含非常多种类型的动画的实现,比如css3
动画,svg
动画以及canvas
、webgl
等。
官网给出了大量的示例代码,可以前往查看
但是它的缺点就是有些功能是付费的🤷🏻♀️,比如
SplitText
、DrawSvg
等功能,他们能实现非常炫酷的动画效果,有兴趣的可以自行购买使用。(反正我不买😺)
- 以下的介绍全部都是gsap3的内容。
使用
本次使用大概用到了以下几个api
:to
、from
、timeline
。
用到的插件为:ScrollTrigger
、TextPlugin
、MotionPathPlugin
插件
使用的插件都需要提前注册。
1 |
|
ScrollTrigger
ScrollTrigger
为滚动操作的关联动画,用户可以根据滚动实现相关的动画。
1 |
|
TextPlugin
TextPlugin
为一些文字动画的插件,我理解的是文字动画的基础版。
暂时没有用到啥特殊的配置。
官网例子
MotionPathPlugin
MotionPathPlugin
为路径动画,可以通过svg
的path
实现相关的动画。
1 |
|
to
表示元素从当前状态转换为to
指定的一些动画状态。
比如,将元素移动到(100, 100)
,并且opacity
从1到0。
1 |
|
下面介绍其中一些常用的属性,与下面from
方法的参数基本相同。
1 |
|
from
与to
相反,表示元素从from
状态转为元素当前状态
。
timeline
timeline
可以理解成上述api
的一个集合。
有时可能需要按照时间顺序,按顺序的执行一系列的动画任务,这将是很有帮助的。
比如一个矩形元素,首先x
移动到100
,接着y
移动到100
,即以下代码:
1 |
|
其他
gsap
的动画能力非常的强,但是也有限制性,以下为本人观点,不一定正确:
其实现动画的css
能力与transition
有非常大的关系,只有能响应transition
的属性才能形成动画,比如width
、height
、backgroundColor
、scale
等。
但是有些属性是无法响应的,比如display
,当设置其从block
变为none
时,为瞬间变化,无动画效果。
结束
gsap
的功能非常的强大,以上使用的功能只是皮肤,各位可以自己去琢磨。
顺便看下本人使用的效果:gh-pages或私人服务器。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!