// 滚轮改变上下滚动
handleScroll(e) {
const fatherDom = document.getElementById("swiperComponent");
const scrollDom = e.srcElement;
// 是子元素执行 非子元素不执行
// if (!this.isChildOf(scrollDom, fatherDom)) return;
try {
e.deltaY > 0 ? this.$refs.carousel.next() : this.$refs.carousel.prev();
} catch (error) { }
},
// 防止滚动过快 时间内滚动多次算一次事件
wheel(e, fn) {
let timer = null;
if (this.flag && e) {
this.flag = false; //将开关设置为false,false期间内不能触发事件
fn(e); //首次可以触发
timer = setTimeout(() => {
clearInterval(timer);
this.flag = true; //规定时间到大后,将开关设置为true
}, 200);
}
},
mounted() {
window.addEventListener("mousewheel", e => {
this.wheel(e, this.handleScroll);
});
},