.play()
优质
小牛编辑
130浏览
2023-12-01
.play( from:*, suppressEvents:Boolean ) : *
控制动画往正方向播放,可设定开始的时间点。
如果suppressEvents保持默认状态并跳到新的时间点,那么之前在新旧时间点之间设置的回调或函数不会被触发,相当于跳过了那些时间点。如果想触发,设为false。
//在当前位置开始播放
myAnimation.play();
//在2秒钟位置开始播放
myAnimation.play(2);
//在2秒钟位置开始播放,并且不阻止期间的函数、事件
myAnimation.play(2, false);
返回self,方便链式设置,如tween.play().timeScale()
.play()适用于TweenMaxTweenLite
.play()的参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
from | Num/label | 否 | 动画开始播放的时间(或TimelineLite/TimelineMax的label)如果没有定义,它将从播放头当前的位置开始播放 |
suppressEvents | Boolean | 否 | 如果true(默认值),当播放头移动到from参数中定义的新位置时,不会触发任何事件或回调。 |
.play() 示例
body {
background-color: #f8f8f8;
font-size: 16px;
}
#demo {
width: 692px;
height: 60px;
background-color: #333;
padding: 8px;
margin-bottom: 10px;
}
.box {
width: 50px;
height: 50px;
border-radius: 6px;
margin-top: 4px;
display: inline-block;
position: absolute;
}
.green {
background-color: #6fb936;
}
input[type="button"] {
-webkit-appearance: button;
padding: 8px;
margin-right: 5px;
margin-bottom: 5px;
}
box = document.getElementById("box"),
playBtn = document.getElementById("playBtn"),
pauseBtn = document.getElementById("pauseBtn"),
resumeBtn = document.getElementById("resumeBtn"),
reverseBtn = document.getElementById("reverseBtn"),
playFromBtn = document.getElementById("playFromBtn"),
reverseFromBtn = document.getElementById("reverseFromBtn"),
seekBtn = document.getElementById("seekBtn"),
timeScaleSlowBtn = document.getElementById("timeScaleSlowBtn"),
timeScaleNormalBtn = document.getElementById("timeScaleNormalBtn"),
timeScaleFastBtn = document.getElementById("timeScaleFastBtn"),
restartBtn = document.getElementById("restartBtn"),
tween = TweenLite.to(box, 6, {left:"632px", ease:Linear.easeNone});
playBtn.onclick = function() {
//当前位置播放动画,如果动画播放完成, play() 无效
tween.play();
}
pauseBtn.onclick = function() {
tween.pause();
}
resumeBtn.onclick = function() {
//当前位置继续动画.
tween.resume();
}
reverseBtn.onclick = function() {
tween.reverse();
}
playFromBtn.onclick = function() {
//某时间点开始播放(秒).
tween.play(5);
}
reverseFromBtn.onclick = function() {
//某时间点开始返回 (秒).
tween.reverse(1);
}
seekBtn.onclick = function() {
//跳到特定时间 (秒)
tween.seek(3);
}
timeScaleSlowBtn.onclick = function() {
//减速.
tween.timeScale(0.5);
}
timeScaleNormalBtn.onclick = function() {
//恢复速度.
tween.timeScale(1);
}
timeScaleFastBtn.onclick = function() {
//加速.
tween.timeScale(2);
}
restartBtn.onclick = function() {
//重新开始.
tween.restart();
}
.play()返回值
.play()的补充说明
由于序列动画(staggerTo()等)分解成了一个个动画,因此不能简单的使用tween动画的play()控制。可将序列动画添加至时间轴,再使用timeline的play()方法来播放。