刷新() JS

重新计算以 基于函数的值 定义的动画属性值,方法是将 from(起始)值更新为当前的当前目标值,并将 to(结束)值更新为新计算出的值。

仅重新计算可动画属性的值,duration(持续时间)和 delay(延迟)无法被刷新。

返回

动画本身

可与其他动画方法链式调用。

refresh() 代码示例

import { animate } from 'animejs';

const [ $refreshButton ] = utils.$('.refresh');

const animation = animate('.square', {
  x: () => utils.random(0, 17) + 'rem',
  y: () => utils.random(-1, 1) + 'rem',
  rotate: () => utils.random(-360, 360, 1),
  scale: () => utils.random(.1, 1.5, 2),
  duration: 750,
  loop: true,
  onLoop: self => self.refresh()
});

const refreshAnimation = () => animation.refresh().restart();

$refreshButton.addEventListener('click', refreshAnimation);
<div class="medium row">
  <div class="square"></div>
</div>
<div class="medium row">
  <div class="square"></div>
</div>
<div class="medium row">
  <fieldset class="controls">
    <button class="button refresh">Refresh & Restart</button>
  </fieldset>
</div>
#resize .large.log.row {
  margin-top: 1rem;
}