浏览器触底判断(添加防抖)

简介: 浏览器触底判断(添加防抖)

废话不多说,直接上代码!
function moveToBrowserBottom() {
let timerForDebounce = null; //为了防抖添加的timer
window.onscroll = function() {

if (timerForDebounce) clearTimeout(timerForDebounce);
var scrollTop =
  document.documentElement.scrollTop ||
  window.pageYOffset ||
  document.body.scrollTop;
    // gap是为了计算偏差,有时候会有1px的偏差值
let gap =
  Math.ceil(document.documentElement.clientHeight + scrollTop) -
  document.documentElement.scrollHeight;  
if (
  document.documentElement.scrollHeight ===
    Math.ceil(document.documentElement.clientHeight + scrollTop) ||
  gap === 1
) {
  timerForDebounce = setTimeout(() => {
    console.log("触底了");
  }, 200);
}

};
}

复制代码
作者: Bill 本文地址: http://biaoblog.cn/info?id=1608281280000

版权声明: 本文为原创文章,版权归 biaoblog 个人博客 所有,欢迎分享本文,转载请保留出处,谢谢!

相关文章
|
6月前
|
前端开发 容器
CSS纯文本渐变动效
不过,请记住,这种特效虽然吸引目光,但应当在页面上谨慎使用,以免分散用户对其他重要内容的注意力。适时适地地使用它,让你的文字在必要时展现出它们最夺目的一面。这便是CSS的力量,一个简单但有力的工具,能让你的网页充满活力和创意。
245 9
|
JavaScript 前端开发 API
谈谈我对Vue 3 中的 Composition、Composition API 和 Composables 之间的区别的理解
谈谈我对Vue 3 中的 Composition、Composition API 和 Composables 之间的区别的理解
|
机器学习/深度学习 人工智能 算法
基于YOLOv8的人员抽烟实时检测系统【训练和系统源码+Pyside6+数据集+包运行】
基于YOLOv8的人员抽烟实时检测系统,旨在通过2472张图片训练出有效模型,维护无烟环境,预防火灾,保护公众健康。系统支持图片、视频和摄像头检测,具备GUI界面,易于操作。使用Python和Pyside6开发,具备模型权重导入、检测置信度调节等功能。
1054 1
基于YOLOv8的人员抽烟实时检测系统【训练和系统源码+Pyside6+数据集+包运行】
|
安全 Ubuntu Linux
在Linux中,如何实现安全的密码策略?
在Linux中,如何实现安全的密码策略?
|
传感器 监控 网络协议
MQTT 发布、订阅模式介绍
【2月更文挑战第17天】
1357 6
MQTT 发布、订阅模式介绍
|
存储 监控 NoSQL
Redis 大键问题解析:如何管理和优化巨型数据【redis拓展】
Redis 大键问题解析:如何管理和优化巨型数据【redis拓展】
507 0
Matlab用向量误差修正VECM模型蒙特卡洛Monte Carlo预测债券利率时间序列和MMSE 预测
Matlab用向量误差修正VECM模型蒙特卡洛Monte Carlo预测债券利率时间序列和MMSE 预测
194 14
|
安全 网络协议 算法
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
392 0
|
Oracle Java 关系型数据库
构建自定义Docker镜像部署Jar包
构建自定义Docker镜像部署Jar包
916 0
|
Web App开发 前端开发 JavaScript
实施前端微服务化的方式
微前端架构是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。 由此带来的变化是,这些前端应用可以独立运行、独立开发、独立部署。
2283 0