前端 JS 经典:监听元素重叠

场景:上拉触底加载更多,以前我们是监听滚动条距离,来判断是否触底。缺点是触发频繁,就算使用防抖,也会有加载延迟的缺点。现在我们可以通过 IntersectionObserver 构造函数,去监听元素和其他元素是否重叠,来实现上拉触底加载更多功能。

实现原理:我们通过监听加载更多 icon 与视口是否重叠来实现效果。

用法:new IntersectionObserver(callback, { root: dom | null, threshold: 0 ~ 1 })callback 是回调函数,当发生相交时触发。root 表示相交的元素,为 null 时代表视口。threshold 表示阙值,为 0 表示边相交,就相交。为 1 表示,完全包裹才算相交。

const ob = new IntersectionObserver(async (entries) => {let entry = entries[0];if (entry.isIntersecting) {if (isLoading) {return;}isLoading = true;await more();isLoading = false;}},{root: null,threshold: 0,}
);const dom = document.querySelector(".loading");
ob.observe(dom);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/41920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模拟面试001-Java开发工程师+简历+问题+回答

模拟面试001-Java开发工程师简历问题回答 目录 模拟面试001-Java开发工程师简历问题回答面试简历面试官题问求职者回答1. 关于Java编程和技术栈2. 关于XX在线购物平台项目3. 关于XX企业资源规划系统项目4. 团队协作与项目管理5. 个人发展与职业规划 参考资料 面试简历 **个人信…

python机器学习2

1.面向对象程序设计(OOP) (1)def 函数名称(参数),创建函数的动作,并将参数代入函数中,以下设计一个函数fun2,并且在程序中调用该函数。 (2&…

【C++】模板进阶--保姆级解析(什么是非类型模板参数?什么是模板的特化?模板的特化如何应用?)

目录 一、前言 二、什么是C模板? 💦泛型编程的思想 💦C模板的分类 三、非类型模板参数 ⚡问题引入⚡ ⚡非类型模板参数的使用⚡ 🔥非类型模板参数的定义 🔥非类型模板参数的两种类型 &#x1f52…

大数据处理系统面临挑战

当今,大数据的到来,已经成为现实生活中无法逃避的挑战。每当我们要做出决策的时候,大数据就无处不在。大数据术语广泛地出现也使得人们渐渐明白了它的重要性。大数据渐渐向人们展现了它为学术、工业和政府带来的巨大机遇。与此同时&#xff0…

linux下高级IO模型

高级IO 1.高级IO模型基本概念1.1 阻塞IO1.2 非阻塞IO1.3 信号驱动IO1.4 IO多路转接1.5 异步IO 2. 模型代码实现2.1 非阻塞IO2.2 多路转接-selectselect函数介绍什么才叫就绪呢?demoselect特点 2.3 多路转接-pollpoll函数介绍poll优缺点demo 2.4 多路转接-epoll&…

Oracle数据库服务器CPU占用率巨高的问题排查思路

1、通过TOP 命令查看PID: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND 1560 oracle 20 0 38.978g 0.038t 16296 R 100.0 15.3 1069:13 python3 Main_Mem.py ProcessLog1 con…

为什么人一旦开窍了就变的特别厉害?

点击上方△腾阳 关注 《让子弹飞》这部电影非常经典,其中一个名场面就是“六子吃粉”。 电影里,胡万对着老六就是一顿狂轰滥炸:“吃了两碗粉,就给一碗的钱,你当咱这是慈善堂呢?” 老六一听,那…

自定义控件之绘图篇(二)路径及文字

在Android中,自定义控件的绘图功能非常强大,允许你创建复杂且美观的用户界面元素。除了基本的几何图形,你还可以使用路径(Path)和文字(Text)来丰富你的控件设计。下面是如何在自定义控件中使用这…

SpringBoot+ELK 收集日志的两种方式

方式一、FileBeatlogstash 7.5.1(docker)ES(docker)springboot 日志文件 应用方式 我们采用ELFK 架构采集日志,直接读取日志生成的文件,不对Springboot的日志任何的修改。也就是FileBeat 通过读取日志文件位置获取日志内容,然后发送至logsta…

This Person Does Not Exist:AI绘画工具创造的虚构人物

引言 随着人工智能技术的飞速发展,AI绘画工具已经能够生成逼真的虚构人物图像。这些工具利用生成对抗网络(GAN)等深度学习技术,能够生成从未存在过的高质量人脸图像。“This Person Does Not Exist” 是其中最著名的一个网站&…

移动应用开发课设——原神小助手文档(1)

2023年末,做的移动应用开发课设,分还算高,项目地址:有帮助的话,点个赞和星呗~ GitHub - blhqwjs/-GenShin_imp: 2023年移动应用开发课设 本文按照毕业论文要求来写,希望对大家有所帮助。 xxxx大学课程设计报…

C++--partition库函数

介绍 在C中,partition函数通常是指STL(Standard Template Library)中的std::partition算法,它用于对一个序列进行分区操作。具体来说,std::partition接受一个范围和一个谓词(predicate)作为参数…

安徽医科大学学报

《安徽医科大学学报》是安徽医科大学主办的医学综合类学术期刊。主要刊登医学科研、医疗成果和进展的学术性期刊,国内外公开发行。主办单位为安徽医科大学,主管单位为安徽省教育厅。现任主编是著名妇产科学和生殖医学专家曹云霞教授。 《东南医刊》和《新…

win10使用小技巧一

1. 查看电脑IP地址 步骤:按WinR打开运行框 → 输入cmd点确定 → 输入ipconfig回车 → 查看IP地址。 2. 解决网页文字不能复制 步骤:按F12 → 调试框里点击设置 → 向下滑找到 禁用 JavaScript → 勾选 → 复制文字。 3. 解决电脑不能上网 方法一&…

im即时通讯哪家好?WorkPlus im即时通讯集成底座为企业保驾护航

在当今数字化时代,即时通讯是企业内部沟通和协作的重要工具,提高工作效率和团队协作效果。在众多IM即时通讯提供商中,WorkPlus作为一家具有独特优势的企业IM即时通讯集成底座,为企业提供了全面的功能和安全保障,为企业…

Linux权限概述

一、权限概述 1.权限的基本概念 2.为什么要设置权限 3.linux用户的身份类别 4.user文件的拥有者 5.group文件所属组内用户 6.other其他用户 7.特殊用户root 二、普通权限管理 1.ls -l查看文件权限 2.文件类型以及权限解析 3.文件或文件夹的权限设置 4.通过数字给文件…

吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.3-2.4

目录 第三门课 结构化机器学习项目(Structuring Machine Learning Projects)第二周:机器学习策略(2)(ML Strategy (2))2.3 快速搭建你的第一个系统,并进行迭代(Build your first system quickly…

Python 学习中什么是元组,如何使用元组?

什么是元组 元组(Tuple)是Python内置的一种数据结构,用于存储多个数据项。与列表类似,元组也可以存储不同类型的数据,但它们之间存在一个重要区别:元组是不可变的,也就是说,一旦创建…

智慧校园综合解决方案PPT(41页)

1. 方案背景 智慧校园综合解决方案响应《教育信息化2.0行动计划》等政策,旨在加快智慧校园建设,推动信息化与学习生活的深度融合。目前教育信息化配套设施建设存在“孤岛架构”,学生安全问题频发,技术发展迅速,家长对…

Python项目写一个dockerfile 怎么写一个deploy.sh文件来自动化部署

当为Python项目编写Dockerfile和xx.sh(我们通常会使用如deploy.sh这样的名字)脚本以进行自动化部署时,你可以遵循以下步骤和示例。 ### Dockerfile 示例 首先,让我们编写一个Dockerfile,用于构建一个包含Python项目的D…