指南 · 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()。