onRenderJS

每次动画在屏幕上渲染时都会执行一个函数,这意味着当 currentTimedelayloopDelay 时间范围内时,不会发生渲染。

接受

一个 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>