vars
vars: 对象
传递给构造函数的配置对象,该对象包含所有你想动画化的属性/值,以及任意的可选特殊属性诸如onComplete
, onUpdate
等等,举例来说:gsap.to(".class",{onComplete: func});
细节
这个vars
传递给构造函数的对象,其中包含您想要动画的所有属性/值,以及任何可选的特殊属性诸如onComplete
, onUpdate
等(如下所列)
- 所有回调函数(onStart、onUpdate、onComplete 等)使用的执行上下文。
- 将任意数据分配给此属性(字符串、对象引用等),它会被附加到 Tween 实例本身上,这样之后就可以像
yourTween.data
. - 动画开始前的延迟时间(以秒为单位)。
- 动画的持续时间(以秒为单位)。默认值:
0.5
. - 控制动画过程中的变化速率,使其具有特定的感觉。例如,
"elastic"
或者"strong.inOut"
。有关示例,请参见本页的缓动可视化工具查看所有选项的完整列表。ease
可以是一个字符串(最常见),或者是一个接受 0 到 1 之间进度值并返回转换后的标准化值的函数。默认值:"power1.out"
. - 通常,一个 Tween 会等到下一个 tick(更新周期)才首次渲染,除非你指定了 delay。设置
immediateRender: true
强制它在实例化时立即渲染。默认值:false
为了to()Tween,true
为了from()和fromTo()多个 Tween 或者任何拥有scrollTrigger应用效果的对象. - 通常,Tween 会从父 Timeline 的
defaults
对象继承(如果定义了的话),但你可以通过设置inherit: false
. - 当 Tween 第一次渲染并读取其起始值时,GSAP 会尽量将写入值的操作推迟到当前“tick”结束,这可以提升性能,因为它避免了浏览器不喜欢的 read/write/read/write 的布局抖动。要禁用某个 Tween 的懒惰渲染,请设置
lazy: false
。大多数情况下,无需设置lazy
。如需了解更多,请观看此视频. 默认值:true
(零持续时间的 Tween 除外). - 动画完成后调用的函数。
- 传递给 onComplete 函数的参数数组。例如,
gsap.to(".class", {x:100, onComplete:myFunction, onCompleteParams:["param1", "param2"]});
. - 每次动画进入一个新的迭代周期(重复)时调用的函数。显然,只有当你设置了非零的
repeat
. - 传递给 onRepeat 函数的参数数组。
- 当动画从反向方向回到起点时调用的函数(不包括重复)。
- 传递给 onReverseComplete 函数的参数数组。
- 动画开始时调用的函数(当它的播放时间从 0 变为其他值时触发,如果你多次重启 Tween,它可以被多次触发)。
- 传递给onStart函数的参数数组。
- 每次动画更新时(即每次推动播放头的“tick”)调用的函数。
- 传递给onUpdate函数的参数数组。
- 如果
true
,所有相同目标的补间动画将立即被终止,无论它们影响哪些属性。如果设置为"auto"
,当补间动画首次渲染时,它会查找当前动画中可能存在的冲突(即对相同目标的相同属性进行动画处理),并终止这些冲突部分的其他补间动画。非冲突部分保持不变。如果设置为false
,则不使用任何覆盖策略。默认值:false
. - 如果
true
,动画将在创建后立即暂停。默认值:false
. - 动画应重复播放的次数。因此设置为
repeat: 1
将总共播放两次迭代。默认值:0
.repeat: -1
将无限重复。 - 重复之间等待的时间(以秒为单位)。默认值:
0
. - 设置
repeatRefresh: true
会使重复补间动画在invalidate()
每次完整迭代时(不含yoyo效果)重新记录其起始和结束值。这对于你使用动态值(相对、随机或基于函数的值)时非常有用。例如,x: "random(-100, 100)"
在每次重复时都会获得一个新的随机x值。duration
,delay
,以及stagger
do非refresh(刷新)。 - 如果
true
,动画将以播放头反向开始,意味着它将朝向起点方向移动。由于播放头无论如何都是从0时刻开始的,一个反向的补间动画会因为播放头无法向后移动超过起点而看起来初始处于暂停状态。 - 如果
true
,动画将反转其起始和结束值(这正是一个from()补间动画内部所做的事情),但缓动函数不会翻转。换句话说,你可以将一个to()
补间动画转换成一个from()
通过设置runBackwards: true
. - 如果定义了多个目标,你可以轻松地stagger(交错)每个目标的开始时间,比如
stagger: 0.1
的值(每个开始时间之间间隔0.1秒)。或者你可以使用stagger对象来实现更复杂的交错效果。更多信息请参见stagger文档. - 定义任意属性的起始值(即使这些属性没有被动画化)。例如,
startAt: {x: -100, opacity: 0}
- 如果
true
,每隔一次repeat
迭代将反向运行,使得补间动画看起来像是来回运动。这并不会影响到reversed
属性。例如,如果设置为repeat
设置为2
和yoyo
设置为false
,看起来就像:起点 - 1 - 2 - 3 - 1 - 2 - 3 - 1 - 2 - 3 - 终点。但如果设置为yoyo
设置为true
,看起来就像:起点 - 1 - 2 - 3 - 3 - 2 - 1 - 1 - 2 - 3 - 终点。默认值:false
. - 允许你在补间动画的
yoyo
回放阶段修改缓动方式。可以将其设置为特定的缓动函数如"power2.in"
或者设置为true
来简单地反转补间动画原本的ease
缓动曲线。注意:如果你定义了任何yoyo: true
GSAP足够智能地自动设置yoyoEase
,这样你就无需编写太多代码。默认值:false
. - 要将目标动画过渡到多个状态,请使用
keyframes
- 一个由vars对象组成的数组,每一个都作为一个to()
补间动画。例如,keyframes: [{x:100, duration:1}, {y:100, duration:0.5}]
。所有的关键帧将会完美地连续播放,但你可以定义一个delay
值来在每一步之间添加间隔(负延迟将创建重叠)。Keyframes只能用于to()
补间动画。