方法名称
定义一个关联的 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>