Web前端之监听元素的重叠度、设置所有元素的滚动条宽度都为0、节点布局的交叉状态、生成随机图片、阮一峰、标签、IntersectionObserver
MENU静态效果HtmlJavaScriptStyleIntersectionObserver静态效果HtmldivdivididBoxclassbox/divdivididLoadingclassloading加载更多/div/divJavaScriptfunctioninit(){letelStrdiv classgrid_box;for(leti0;i13;i){elStrdiv classimg_box;elStrimg srchttps://picsum.photos/200/300?${i} /;elStr/div;}elStr/div;idBox.innerHTMLelStr;}// 初始化页面init();// 监听元素的重叠度constidLoadingdocument.querySelector(#idLoading);constobnewIntersectionObserver(function(entries){constentryentries[0];if(entry.isIntersecting)console.log(加载更多);},{root:null,threshold:0});ob.observe(idLoading);// 可以观察多个元素// ob.observe(idLoading);// ob.observe(idLoading);// ob.observe(idLoading);// ob.observe(idLoading);Style*::-webkit-scrollbar{width:0px;}.box{display:flex;justify-content:center;}.grid_box{display:grid;grid-template-columns:200px 200px 200px 200px 200px;grid-column-gap:10px;grid-row-gap:10px;}.img_box{display:flex;justify-content:center;align-items:center;}.loading{font-size:16px;text-align:center;height:30px;line-height:30px;margin-top:10px;}IntersectionObserver阮一峰简单使用let ob new IntersectionObserver(callback, option);callback参数目标元素的可见性变化时就会调用观察器的回调函数callback。callback一般会触发两次。一次是目标元素刚刚进入视口(开始可见)另一次是完全离开视口(开始不可见)。letobnewIntersectionObserver(entries{console.log(entries);});上面代码中回调函数采用的是箭头函数的写法。callback函数的参数(entries)是一个数组每个成员都是一个IntersectionObserverEntry对象。举例来说如果同时有两个被观察的对象的可见性发生变化entries数组就会有两个成员。option对象IntersectionObserver构造函数的第二个参数是一个配置对象。它可以设置以下属性。1、threshold属性threshold属性决定了什么时候触发回调函数。它是一个数组每个成员都是一个门槛值默认为[0]即交叉比例(intersectionRatio)达到0时触发回调函数。newIntersectionObserver(entries{/* ... */},{threshold:[0,0.25,0.5,0.75,1]});用户可以自定义这个数组。比如[0, 0.25, 0.5, 0.75, 1]就表示当目标元素0%、25%、50%、75%、100% 可见时会触发回调函数(当只有一个参数时可以单独写一个数字比如00.51就表示与视口交叉百分值多少触发)。2、root属性和rootMargin属性很多时候目标元素不仅会随着窗口滚动还会在容器里面滚动(比如在iframe窗口里滚动)。容器内滚动也会影响目标元素的可见性参见阮一峰文章开始时的那张示意图。IntersectionObserver API支持容器内滚动。root属性指定目标元素所在的容器节点(即根元素)。注意容器元素必须是目标元素的祖先节点。letopts{root:document.querySelector(.container),rootMargin:500px 0px};letobservernewIntersectionObserver(callback,opts);上面代码中除了root属性还有rootMargin属性。后者定义根元素的margin用来扩展或缩小rootBounds这个矩形的大小从而影响intersectionRect交叉区域的大小。它使用CSS的定义方法比如10px 20px 30px 40px表示 top、right、bottom和left四个方向的值。这样设置以后不管是窗口滚动或者容器内滚动只要目标元素可见性变化都会触发观察器。注意IntersectionObserver API是异步的不随着目标元素的滚动同步触发。规格写明IntersectionObserver的实现应该采用requestIdleCallback()即只有线程空闲下来才会执行观察器。这意味着这个观察器的优先级非常低只在其他任务执行完浏览器有了空闲才会执行。MDNIntersectionObserver接口(从属于Intersection Observer API)提供了一种异步观察目标元素与其祖先元素或顶级文档视口(viewport)交叉状态的方法。其祖先元素或视口被称为根(root)。当一个IntersectionObserver对象被创建时其被配置为监听根中一段给定比例的可见区域。一旦IntersectionObserver被创建则无法更改其配置所以一个给定的观察者对象只能用来监听可见区域的特定变化值然而你可以在同一个观察者对象中配置监听多个目标元素。

相关新闻

服务端之nestJS常用异常类及封装自定义响应模块

服务端之nestJS常用异常类及封装自定义响应模块

MENU前言常用异常类(由nestjs/common提供,一)常用异常类(由nestjs/common提供,二)示例自定义异常(可选)自定义响应模块前言 在NestJS中,nestjs/common提供了大量的内置异…

2026/7/4 16:43:11 阅读更多 →
OBLITERATUS:解锁大模型无限潜力

OBLITERATUS:解锁大模型无限潜力

GitHub 平台功能丰富,涵盖 AI 代码创作、开发者工作流程等多方面。而 OBLITERATUS 作为先进开源工具包,能消除大语言模型拒绝行为,还推动科研发展。GitHub 功能全景GitHub 提供了全面的平台功能,在 AI 代码创作方面,有…

2026/5/17 8:52:17 阅读更多 →
window从Microsoft 账户切换到本地帐号之后清理microsoft账号的步骤

window从Microsoft 账户切换到本地帐号之后清理microsoft账号的步骤

注册表: HKEY_CURRENT_USER\Software\Microsoft\IdentityCRL HKEY_USERS\.DEFAULT\Software\Microsoft\IdentityCRL 搜索并删除包含原 Microsoft 邮箱(如 xxxxx.com)的键值。 如何彻底删除Microsoft Edge登录账户信息 https://www.cnblogs.…

2026/7/6 20:33:38 阅读更多 →

最新新闻

如何免费解锁WeMod专业版:3个关键步骤与安全指南

如何免费解锁WeMod专业版:3个关键步骤与安全指南

如何免费解锁WeMod专业版:3个关键步骤与安全指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为WeMod专业版的高昂订阅费而烦恼吗&am…

2026/7/7 11:55:12 阅读更多 →
腾讯混元 Hy3 开源:多任务比肩大尺寸模型,多项指标显著优化

腾讯混元 Hy3 开源:多任务比肩大尺寸模型,多项指标显著优化

【导语:继 4 月底发布 Hy3 preview 后,腾讯混元 Hy3 现已开源,在推理、智能体、长上下文等任务上显著进步,多项指标优化明显,成为高性价比可靠选择。】混元 Hy3 开源:多维度升级亮点足 腾讯混元 Hy3 在发布…

2026/7/7 11:53:12 阅读更多 →
DAB单移相控制、双有源桥DCDC变换器(电压闭环)仿真(附参考文献)

DAB单移相控制、双有源桥DCDC变换器(电压闭环)仿真(附参考文献)

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、算法改进、程序设计科研仿真。🍎完整代码获取 定制创新 论文复现私信🍊个人信条:做科研,博学之、审问之、慎思之、明辨之、…

2026/7/7 11:53:12 阅读更多 →
Paperxie 毕业论文智能写作功能|一站式搞定本科硕博论文,告别熬夜凑稿难题

Paperxie 毕业论文智能写作功能|一站式搞定本科硕博论文,告别熬夜凑稿难题

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/科研绘图毕业论文 - PaperXie智能写作PaperXieAi论文智能生成软件,10分钟生成万字毕业论文、期刊论文、文献综述、PPT,Aigc查重、降重报告、文献资料。只需一个标题,从开…

2026/7/7 11:49:11 阅读更多 →
Deepin Boot Maker:告别复杂命令,三步制作专业级Linux启动盘

Deepin Boot Maker:告别复杂命令,三步制作专业级Linux启动盘

Deepin Boot Maker:告别复杂命令,三步制作专业级Linux启动盘 【免费下载链接】deepin-boot-maker 项目地址: https://gitcode.com/gh_mirrors/de/deepin-boot-maker 还在为制作Linux启动盘而烦恼吗?命令行操作复杂易错,图…

2026/7/7 11:47:10 阅读更多 →
【计算机Java毕业设计案例】基于 SpringBoot 的冠状病毒致病靶标筛选数据管理系统的设计与实现(程序+文档+讲解+定制)

【计算机Java毕业设计案例】基于 SpringBoot 的冠状病毒致病靶标筛选数据管理系统的设计与实现(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/7 11:47:10 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻