JavaScript | 如何判断页面是否滚动到底部?

在 JavaScript 中,我们可以通过一些技巧来判断页面是否滚动到底部。本文将介绍一些常用的方法,帮助你在项目中实现这一功能。

判定页面到达底部

JS:

javascript 复制代码
// HTML 文档返回对象为HTML元素
let docEl = document.documentElement;
// 浏览器可视部分的高度
let clientHeight = document.documentElement.clientHeight || document.body.clientHeight;
window.addEventListener('scroll', function () {
  // 页面中内容的总高度
  let docELHeight = docEl.scrollHeight; 
  // 页面内已经滚动的距离
  let scrollTop = docEl.scrollTop; 
  // 页面上滚动到底部的条件
  if (scrollTop == docELHeight - clientHeight) {
    // 页面内已经滚动的距离 = 页面中内容的总高度 - 浏览器可视部分的高度
    console.log('到达底部了!');
  }
});

判定元素内滚动到达底部

CSS:

css 复制代码
div {
  overflow: auto;
  margin: 250px auto;
  width: 80px;
  height: 100px;
  background-color: rgb(204, 126, 255);
}

HTML:

html 复制代码
<div>
  保护大自然
  保护大自然
  保护大自然
  保护大自然
  保护大自然
  保护大自然
  保护大自然
</div>

JS:

javascript 复制代码
// 获取元素
let div = document.querySelector('div');
// div中内容的总高度
let scrollHeight = div.scrollHeight; 
// 给div添加滚动事件
div.addEventListener('scroll', function () {
  // div 内已滚动的距离
  let scrollTop = div.scrollTop; 
  // 元素内滚动条到底部的条件
  if (scrollTop == scrollHeight - div.clientHeight) {
    // div 内已滚动的距离 = div中内容的总高度 - div 元素的高度
    console.log('到达底部了!');
  }
});
相关推荐
范小多13 小时前
24小时学会Python Visual code +Python Playwright通过谷歌浏览器取控件元素(连载、十一)
服务器·前端·python
ooolmf13 小时前
matlab2024读取温度01
java·前端·javascript
打工人小夏13 小时前
前端vue3项目使用nprogress动画组件,实现页面加载动画
前端
一颗宁檬不酸13 小时前
前端农业商城中产品产地溯源功能的实现
前端
李少兄13 小时前
深入理解前端中的透视(Perspective)
前端·css
席之郎小果冻13 小时前
【03】【创建型】【聊一聊,单例模式】
开发语言·javascript·单例模式
江公望13 小时前
HTML5 History 模式 5分钟讲清楚
前端·html·html5
云和数据.ChenGuang13 小时前
Zabbix Web 界面安装时**无法自动创建配置文件 `zabbix.conf.php`** 的问题
前端·zabbix·运维技术·数据库运维工程师·运维教程
码界奇点13 小时前
Java Web学习 第15篇jQuery万字长文详解从入门到实战解锁前端交互新境界
java·前端·学习·jquery
前端老曹13 小时前
vue3 三级路由无法缓存的终极解决方案
前端·javascript·vue.js·vue