指南 · 06
时间轴
用一个可跳转的时钟驱动多条轨道:播放、暂停、跳转、倒放和变速。
同一时钟上的轨道
useTimeline(tracks, options, deps) 创建一个归组件所有的时间轴。每条轨道是一组关键帧,或 { values, times, at, duration },其中 at 和 duration 以毫秒为单位。
progress 是一个 CSS 变量,数值或长度类轨道都是它的 calc() 表达式,所以在普通 style 中使用的时间轴每帧只写入一个变量。
播放控制
play({ from, rate })、pause()、seek(ms) 和 reverse() 控制时钟。state、currentTime、duration 和 finished Promise 描述它的状态。repeat 和 repeatDelay 用于循环。
Title.jsxconst intro = useTimeline(
{
y: ['24px', '0px'],
fade: { values: [0, 1], at: 0, duration: 300 },
line: { values: [0, 1], at: 200, duration: 600 },
},
{ duration: 800 },
);
intro.seek(400);
intro.play({ rate: 0.5 });
intro.reverse();
在 React 之外
createTimeline 是不依赖组件的同一个时钟。用完后请调用 dispose()。