TweenLite.to(element, 1, {left:100});
TweenLite.to(element, 1, {top:50, delay:1});//延迟1秒,接续前一个动画
TweenLite.to(element, 1, {opacity:0, delay:2});//延迟2秒,接续前一个动画
上面的代码将元素的"left" 属性设置为100,然后将“top”设置为50,最后将“透明度”设置为0(注意 delay除第一个以外的所有其他动画都用上了)。但想象一下,如果你想将第一个动画的持续时间增加到1.5,那么你需要调整其后的每一个延迟。
var tl = new TimelineLite();
tl.add( TweenLite.to(element, 1, {left:100}) );//将一个动画添加到时间轴
tl.add( TweenLite.to(element, 1, {top:50}) );//将一个动画添加到时间轴末端,即与前一个动画接续
tl.add( TweenLite.to(element, 1, {opacity:0}) ); //将一个动画添加到时间轴末端,即与前一个动画接续
//控制时间轴
tl.pause();
tl.resume();
tl.seek(1.5);
tl.reverse();
...
或者使用简单的to()方法和链式调用使其更加简洁:
var tl = new TimelineLite();
tl.to(element, 1, {left:100}).to(element, 1, {top:50}).to(element, 1, {opacity:0});
现在,你可以随意调整任何动画,而不必担心延迟时间会发生混乱。增加第一个动画的持续时间,一切都会自动调整。
例子中使用的CSS属性动画(opacity、left、top等)需要CSSPlugin插件支持,CSSPlugin插件及TweenLite和TimelineLite等都包含在TweenMax.min.js中。如果你使用TimelineLite.min.js/TimelineMax.min.js,则需另外加载CSSPlugin.min.js和TweenLite.min.js。
repeat
)缓动方式(ease
)等可参看02节:时间轴初始设置onStart
)、结束事件(onComplete
)、返回事件(onReverseComplete
)等play
)、暂停(pause
)、重新播放(restart
)等time
)、播放进度(progress
)TimelineLite 和TimelineMax 共有方法 | TimelineMax 独有方法 |
---|---|
add()
addLabel()
addPause()
call()
clear()
delay()
duration()
eventCallback
exportRoot()
from()
fromTo()
getChildren()
getLabelTime()
getTweensOf()
invalidate()
isActive()
kill()
pause()
paused()
play()
progress()
remove()
removeLabel()
render()
restart()
resume()
reverse()
reversed()
seek()
set()
shiftChildren()
staggerFrom()
staggerFromTo()
staggerTo()
startTime()
time()
timeScale()
to()
totalDuration()
totalProgress()
totalTime()
useFrames()
|
currentLabel()
getActive()
getLabelAfter()
getLabelBefore()
getlLabelsArray()
repeat()
repeatDelay()
tweenFromTo()
tweenTo()
yoyo()
|