stretch()
将时间轴及其子级的总持续时间更改为适合特定时间的长度。
总持续时间等于一次迭代的持续时间乘以迭代总次数。因此,如果时间轴为1000毫秒并且循环两次(总共3次迭代),总持续时间将为3000毫秒(1000 * 3)。
timeline.stretch(duration);
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| duration | Number |
时间线的新总持续时间(毫秒) |
返回
时间线本身
可以与其他时间线方法链式调用。
stretch() 代码示例
import { createTimeline, utils } from 'animejs';
const [ $range ] = utils.$('.range');
const [ $totalDuration ] = utils.$('.value');
const tl = createTimeline({
loop: 1,
alternate: true,
})
.add('.circle', { x: '15rem' })
.add('.triangle', { x: '15rem' }, 500)
.add('.square', { x: '15rem' }, 1000);
const stretchTimeline = () => {
const newDuration = +$range.value;
$totalDuration.textContent = newDuration;
tl.stretch(newDuration).restart();
}
stretchTimeline();
$range.addEventListener('input', stretchTimeline);
<div class="large row">
<div class="medium pyramid">
<div class="triangle"></div>
<div class="square"></div>
<div class="circle"></div>
</div>
<pre class="large log row">
<span class="label">total duration</span>
<span class="value">0</span>
</pre>
</div>
<div class="medium centered row">
<fieldset class="controls">
<input type="range" min=100 max=2000 value=1000 step=100 class="seek range" />
</fieldset>
</div>