渲染时 JS
每当动画在屏幕上渲染内容时执行一个函数。这意味着当 currentTime 处于 delay(延迟)或 loopDelay(循环延迟)时间范围内时,不会发生渲染。
接受
一个 Function,其第一个参数是动画本身
默认值
noop
要全局更改默认值,请更新 engine.defaults 对象。
import { engine } from 'animejs';
engine.defaults.onRender = self => console.log(self.id);
onRender 代码示例
import { animate, utils } from 'animejs';
const [ $rendersLog ] = utils.$('.value');
let renders = 0;
const animation = animate('.circle', {
x: '16rem',
loopDelay: 1500,
loop: true,
alternate: true,
onRender: self => $rendersLog.textContent = ++renders
});
<div class="large row">
<div class="circle"></div>
<pre class="large log row">
<span class="label">renders</span>
<span class="value">0</span>
</pre>
</div>