sync() V4

将 JS 动画、WAAPI 动画、定时器、时间轴甚至原生 WAAPI 动画 同步到时间轴。

const tlChild = createTimeline().add(target, { x: 100 }).add(target, { y: 100 });

createTimeline().sync(tlChild);

Tween 值组合在创建时间轴时处理,添加时不会影响时间轴的现有子项。

参数

名称 接受
已同步 JSAnimation | 定时器 | 时间轴 | Anime.js WAAPI 动画 | WAAPI 动画
位置 (可选) 时间位置

返回

时间轴本身

可以与其他时间轴方法链式调用。

sync() 代码示例

import { createTimeline, animate, waapi } from 'animejs';

const circleAnimation = waapi.animate('.circle', {
  x: '15rem'
});

const tlA = createTimeline()
.sync(circleAnimation)
.add('.triangle', {
  x: '15rem',
  duration: 2000,
})
.add('.square', {
  x: '15rem',
});

const tlB = createTimeline({ defaults: { duration: 2000 } })
.add(['.triangle', '.square'], {
  rotate: 360,
}, 0)
.add('.circle', {
  scale: [1, 1.5, 1],
}, 0);

const tlMain = createTimeline()
.sync(tlA)
.sync(tlB, '-=2000');
<div class="large row">
  <div class="medium pyramid">
    <div class="triangle"></div>
    <div class="square"></div>
    <div class="circle"></div>
  </div>
</div>