获取滚动条距离底部的距离

在项目中经常需要监听页面滚动条滚到底部,下面来总结一下:

1.在微信小程序中

可以使用bindscrolltolower这个事件

 bindscrolltolower: function () {
   //到底后要做的事情
    },
2.vue里面

先在mounted里面添加监听滚动条事件scrollBottom

   mounted() {
      window.addEventListener('scroll', this.scrollBottom)
    },

然后在scrollBottom里定义一些内容

  scrollBottom() {
        // 变量scrollTop为当前页面的滚动条纵坐标位置
        let scrollTop =
          document.documentElement.scrollTop || document.body.scrollTop;
        // 变量 windowHeight 是可视区的高度
        let windowHeight =
          document.documentElement.clientHeight || document.body.clientHeight;
        // 变量 scrollHeight 是滚动条的总高度
        let scrollHeight =
          document.documentElement.scrollHeight || document.body.scrollHeight;


		// 到底的条件
        if (
          scrollTop + windowHeight == scrollHeight
        ) {
		//到底后要进行的操作
        }
      }

document.documentElement和document.body的区别
documentElement 对应的是 html 标签,body 对应的是 body 标签,
在w3c标准下,document.body.scrollTop是恒为0的,需要用document.documentElement.scrollTop来代替,所以需要进行一下判断。

可以到底后对分页数据进行请求

	//pageIndex 当前请求的数据页码,初始为0
	//totalPage 总页数
   if (this.pageIndex < this.totalPage - 1) {
            this.pageIndex += 1
            this.getList() //请求数据
          }

如果要防止多次触发。可以加个布尔值,初始为true,触发事件后设置为false,根据数据请求情况再还原为true。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值