seek()
将时间线的 currentTime
更新为特定时间。
timeline.seek(time, muteCallbacks);
参数
名称 | 类型 | 描述 |
---|---|---|
time | 数字 |
时间线的新的 currentTime ,单位为毫秒 |
muteCallbacks=false (可选) | 布尔值 |
如果为 true ,则阻止触发回调 |
返回
时间线本身
可以与其他时间线方法链式调用。
seek() 代码示例
import { createTimeline, utils } from 'animejs';
const [ $range ] = utils.$('.range');
const [ $playPauseButton ] = utils.$('.play-pause');
const updateButtonLabel = tl => {
$playPauseButton.textContent = tl.paused ? 'Play' : 'Pause';
}
const tl = createTimeline({
autoplay: false,
onUpdate: self => {
$range.value = self.currentTime;
updateButtonLabel(self);
},
onComplete: updateButtonLabel,
})
.add('.circle', { x: '15rem' })
.add('.triangle', { x: '15rem' }, 500)
.add('.square', { x: '15rem' }, 1000);
const seekTimeline = () => tl.seek(+$range.value);
const playPauseTimeline = () => {
if (tl.paused) {
tl.play();
} else {
tl.pause();
updateButtonLabel(tl);
}
}
$range.addEventListener('input', seekTimeline);
$playPauseButton.addEventListener('click', playPauseTimeline);
<div class="large row">
<div class="medium pyramid">
<div class="triangle"></div>
<div class="square"></div>
<div class="circle"></div>
</div>
</div>
<div class="medium centered row">
<fieldset class="controls">
<input type="range" min=0 max=2000 value=0 class="range" />
<button style="flex: 0.25;" class="button play-pause">Play</button>
</fieldset>
</div>