方法名称

定义一个关联的 Object 的方法名列表,在特定 回调 被触发时调用。

接受

一个 String,包含由空格分隔的 动画方法计时器方法时间轴方法 名称列表

回调定义顺序

'enter'

定义一个方法,当进入阈值被跨越或元素重新进入视口时触发。

{
  sync: 'play',
}

'enter leave'

定义方法,当进入和离开阈值被跨越时触发。

{
  sync: 'play pause',
}

'enterForward leaveForward enterBackward leaveBackward'

定义方法,当向前滚动时进入和离开阈值被跨越,以及向后滚动时进入和离开阈值被跨越时触发。

{
  sync: 'play pause reverse reset',
}

默认值

'play pause'

方法名代码示例

import { animate, onScroll } from 'animejs';

animate('.square', {
  x: '15rem',
  rotate: '1turn',
  duration: 2000,
  autoplay: onScroll({
    container: '.scroll-container',
    enter: 'bottom-=50 top',
    leave: 'top+=60 bottom',
    sync: 'resume pause reverse reset',
    debug: true
  })
});
<div class="scroll-container scroll-y">
  <div class="scroll-content grid square-grid">
    <div class="scroll-section padded">
      <div class="large row">
        <div class="label">scroll down</div>
      </div>
    </div>
    <div class="scroll-section padded">
      <div class="large row">
        <div class="square"></div>
      </div>
    </div>
    <div class="scroll-section">
    </div>
  </div>
</div>