在使用jquery.fullPage的时候,我在每个内置页都设置了自己的滚动,并且在内部滚动设置了@scroll.stop @wheel.stop,用来防止在页面内部有滚动元素的时候,整个页面滚动
我通过触底或者触顶来主动触发事件,让页面上下滚动
zhuyeGridWheel(e){
console.log(this.$refs.grid.scrollTop); //滚动高度
console.log(this.$refs.grid.scrollHeight); //滚动部分的总高度
console.log(this.$refs.grid.clientHeight); //显示部分的高度
// 向下滚动
if(e.deltaY > 0 &&
this.$refs.grid.scrollTop + this.$refs.grid.clientHeight >= this.$refs.grid.scrollHeight - 1
){
console.log('去下一个');
this.clickSide(2)
}
// 向上滚动
if(e.deltaY < 0 &&
this.$refs.grid.scrollTop == 0
){
console.log('去上一个');
this.clickSide(0)
}
},
主动跳转事件我单独拿出来了,因为子组件中的元素我也要滚动,我这里通过provide,inject暴露给后代组件,所以上面可以直接用this.方法名 调用
clickSide(num) {
console.log(num);
const index = $(this).index();
$.fn.fullpage.moveTo(num + 1);
},
现在问题是我鼠标滚轮快速从一个页面滚到下一个页面后,如果我不等待一下或者移动一下鼠标,页面就无法继续滚动了