vue 中监听页面滚动

html结构:

<div>
        <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)
    }

在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) {
          //滚动大于0的时候要做的操作
        }
        if (scrollTop > 200) {
          //大于200的时候要做的操作
        }
        if (scrollTop > oneHeight) {
          //这是滑动到scrollTwo的距离要做的操作
        }
        if (scrollTop > twoHeight) {
          //这是滑动到scrollThree要做的操作
        }
原文地址:https://www.cnblogs.com/jeffhong99/p/15791508.html