onRender V4
每次时间线在屏幕上渲染内容时执行一个函数,这意味着当 currentTime
位于 delay
或 loopDelay
时间范围内,或者其子项均未渲染时,不会发生渲染。
接受
一个 Function
,其第一个参数返回时间线本身
默认值
noop
要全局更改默认值,请更新 engine.defaults
对象。
import { engine } from 'animejs';
engine.defaults.onRender = self => console.log(self.id);
onRender 代码示例
import { createTimeline, utils } from 'animejs';
const [ $value ] = utils.$('.value');
let renders = 0;
const tl = createTimeline({
defaults: { duration: 500 },
loopDelay: 250,
loop: true,
onRender: self => $value.textContent = ++renders
})
.add('.circle', { x: '15rem' })
.add('.triangle', { x: '15rem' }, '+=250')
.add('.square', { x: '15rem' }, '+=250');
<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">renders</span>
<span class="value">0</span>
</pre>
</div>