时间线位置错开
时间线的 add() 位置参数接受基于函数的值,从而在定位多目标动画时可以使用 stagger() 方法返回的 stagger 函数。
这导致每个目标都会创建自己的动画到一个错开的位置,每个后续目标的时间增加固定的毫秒数。
在错列动画上定义的回调也是错列的,并且会为每个目标调用。
stagger() 参数对象的 start 属性允许定义错位动画的起始值,并且接受与时间轴 add() 位置参数相同的值。
时间轴位置错落的代码示例
import { createTimeline, stagger, utils } from 'animejs';
const tl = createTimeline();
const onComplete = ({ targets }) => {
utils.set(targets, { color: 'var(--hex-red)' });
}
tl
.add('.circle', { x: '15rem', onComplete })
.label('circle completes')
.add(['.triangle', '.square'], {
x: '15rem',
onComplete, // Callbacks are aslo staggered
}, stagger(500, { start: 'circle completes-=500' }));
<div class="large row">
<div class="medium pyramid">
<div class="triangle"></div>
<div class="square"></div>
<div class="circle"></div>
</div>
</div>