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('到达底部了!');
  }
});
相关推荐
Csvn23 分钟前
OpenSpec 详细使用教程
前端
之歆1 小时前
Day19_LESS 完全指南——从入门到工程实践
前端·css·less
云水一下2 小时前
HTML5 从入门到精通:实战收官——从零搭建完整静态网站,综合运用所有知识
前端·html5
不总是2 小时前
Windows 系统 Node.js 免安装版(zip)安装与配置教程(2026 最新)
前端·windows·node.js
冬奇Lab2 小时前
每日一个开源项目(第105篇):Twenty - 跳出 Salesforce 的圈套,定义现代开源 CRM
前端·后端·开源
zhangyao9403303 小时前
开发pc端时,表格的高度怎么设置才能铺满页面
前端·javascript·elementui
XinZong3 小时前
实测OpenClaw虾淘:全民工具AI时代,冷门非工具类的Skill还能出圈吗?
javascript
kjs--3 小时前
浏览器书签执行脚本
前端
烛衔溟3 小时前
TypeScript 类的类型 —— 作为类型使用
javascript·ubuntu·typescript
之歆4 小时前
Day16_JavaScript 轮播图与事件工程实战(下篇)
服务器·开发语言·前端·javascript·网络·性能优化