html加载后自动下拉,HTML5页面滑动到最底部触发内容加载 javascript实现

7475c4a0597074ac873f8ea0fdea562d.png

最近在做一个html5的小项目,虽然很小,但是考虑到用户网络制式,流量,甚至海外访问的速度优先保证.

所以对于一些功能的实现不再考虑依赖任何第三方的包.

今天和大家分享的是 html5 页面下拉到最底部时实现自动刷新加载新数据.

当然,也不一定是html5下适用,web页面都适用.

首先要清楚3个定义:文档高度

这是整个页面的高度

可视窗口高度

这是你看到的浏览器可视屏幕高度

滚动条滚动高度

滚动条下滑过的高度

所以, 当 文档高度 = 可视窗口高度 + 滚动条高度  时,滚动条正好到底.

那我们就来定义三个不同的方法,分别获取上面3个高度值//文档高度

function getDocumentTop() {

var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0;

if (document.body) {

bodyScrollTop = document.body.scrollTop;

}

if (document.documentElement) {

documentScrollTop = document.documentElement.scrollTop;

}

scrollTop = (bodyScrollTop - documentScrollTop 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uni-app中,你可以通过监听页面滚动事件来实现H5下拉触发加载下一页的效果。下面是一个简单的示例代码: 1. 在页面的`<script>`标签中,定义一个变量`currentPage`来表示当前页数,以及一个布尔变量`isLoading`来表示是否正在加载数据。 ```vue <script> export default { data() { return { currentPage: 1, isLoading: false }; }, methods: { // 加载下一页数据的方法 async loadNextPage() { if (this.isLoading) return; this.isLoading = true; // 模拟异步加载数据 await new Promise(resolve => setTimeout(resolve, 1000)); // 加载完成后更新当前页数和加载状态 this.currentPage++; this.isLoading = false; }, // 监听页面滚动事件 onScroll(event) { // 获取页面滚动的距离 const scrollTop = event.target.scrollTop; const scrollHeight = event.target.scrollHeight; const clientHeight = event.target.clientHeight; // 判断是否滚动到底部,并且不是正在加载数据 if (scrollTop + clientHeight >= scrollHeight && !this.isLoading) { this.loadNextPage(); } } } }; </script> ``` 2. 在页面的`<template>`标签中,将`@scroll`事件绑定到页面的根元素上,并使用`v-once`指令确保只绑定一次。 ```vue <template> <view @scroll.once="onScroll"> <!-- 页面内容 --> </view> </template> ``` 这样,当页面滚动到底部时,`loadNextPage`方法会被调用,你可以在该方法中触发加载下一页的逻辑。注意在真实的应用中,你需要根据自己的业务需求来实现具体的数据加载逻辑。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值