/* 用法 new ScrollMoveAnimate([ // 一个对象代表一个监听范围 可传多个 { start: 100, // 滚动条触发开始位置 end: 300, // 滚动条触发结束位置 frames: 5, // 序列帧数量 callback: index => { // 回调函数 返回当前需要显示的序列帧的下标 console.log(index) } } ]) */ export default class ScrollMoveAnimate { constructor (animateInterval) { this.animateInterval = animateInterval this.addScrollEvent() } addScrollEvent () { window.onscroll = () =>{ this.scrollT = document.documentElement.scrollTop || document.body.scrollTop this.scrolling() } } scrolling () { this.animateInterval.forEach(v => { if (this.scrollT >= v.start && this.scrollT < v.end) v.callback(parseInt((this.scrollT - v.start) / ((v.end - v.start) / v.frames))) }) } }