渲染时 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>