vue 中监听页面滚动

时间:2023-03-09 05:58:00
vue 中监听页面滚动

监听页面滚动

在methods中定义一个方法


handleScroll() {
//获取滚动时的高度
let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
let oneHeight = this.$refs.scrollOne.offsetHeight ;
let twoHeight = this.$refs.scrollTwo.offsetHeight + oneHeight;
let threeHeight = this.$refs.scrollThree.offsetHeight + twoHeight;
//
// console.log(scrollTop)
if (scrollTop > ) {
//滚动大于0的时候要做的操作
}
if (scrollTop > ) {
//大于200的时候要做的操作
}
if (scrollTop > oneHeight) {
//这是滑动到scrollTwo的距离要做的操作
}
if (scrollTop > twoHeight) {
//这是滑动到scrollThree要做的操作
}

html中

<div class="gooddetail-info">
<div ref="scrollOne"></div>
<div ref="scrollTwo"></div>
<div ref="scrollThree"></div>
</div>

在mounted监听

 mounted() {
window.addEventListener("scroll",this.handleScroll);
},

最后要销毁这个监听要不然会在其他的页面中 执行 报错

destroyed() {
document.removeEventListener('scroll', this.handleScroll)
}