vue 监听页面滚动事件

在vue中监听页面滚动执行一些操作

  mounted(){    window.addEventListener('scroll',this.handleScroll,true)  },
  methods: {
    handleScroll(e){      var scrollTop = e.target.documentElement.scrollTop || e.target.body.scrollTop;      // 执行代码
    },  }复制代码


html

<div id="app" > 
    <div class="min_container"  @scroll="scrollEvent" > </div>    <div class='go_more' v-if='more_show'  @click='GoMore' >加载更多</div>          <div class='go_more' v-else>没有更多评价了</div>
</div>复制代码

css

.min_container {  padding-top: 1.1rem;  position: fixed;  top: 0;  left: 0;  right: 0;  bottom: 0;  overflow-y: auto;}复制代码

js 

    data 

    more_show: true, // 标志是否可以加载更多    more_show: true, // 标志是否可以加载更多    loading: false, // 只有在列表数据获取之后才可以设置为ture 在滚动加载更多的时候使用
复制代码


 methords

 scrollEvent(eve) {
      const that = this      // console.log(      //   eve.srcElement.scrollTop,      //   eve.srcElement.offsetHeight,      //   eve.srcElement.scrollHeight      // );      if (        eve.srcElement.scrollTop + eve.srcElement.offsetHeight >          eve.srcElement.scrollHeight - 10 &&        this.more_show &&        this.loading      ) {
         // 执行函数
         // 中转参数      }    },
复制代码

回调函数

        that.loading = true;        if (that.evaluation_arr.length == that.page_count) {          that.more_show = false;        } else {          that.more_show = true;        }复制代码


  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值