尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Intersection Observer API 理解

Intersection Observer API 理解
📅 发布时间:2026/6/18 13:02:06

Intersection Observer API 理解

今天在写div中滚动触底,分批加载内容的时候,发现一个新的 接口 Intersection Observer API 官方文档:https://developer.mozilla.org/zh-CN/docs/Web/API/Intersection_Observer_API

看了下,确实很有用,值得研究学习。

官方解释:

交叉观察器 API(Intersection Observer API)提供了一种异步检测目标元素与祖先元素或顶级文档的视口相交情况变化的方法。过去,要检测一个元素是否可见或者两个元素是否相交并不容易,很多解决办法不可靠或性能很差。然而,随着互联网的发展,这种需求却与日俱增,比如,下面这些情况都需要用到相交检测:

1、在页面滚动时“懒加载”图像或其他内容。 2、实现“无限滚动”网站,在滚动过程中加载和显示越来越多的内容,这样用户就不必翻页了。 3、报告广告的可见度,以便计算广告收入。 4、根据用户是否能看到结果来决定是否执行任务或动画进程。

如果要看具体的解释和使用方法,可以去看官方文档。

下面我列举几个使用案例

1.图片惰性加载实践

<img class="lazy" data-src="real1.jpg" src="placeholder.jpg" alt="图片1">
<img class="lazy" data-src="real2.jpg" src="placeholder.jpg" alt="图片2">

使用 IntersectionObserver

if ('IntersectionObserver' in window) {const observer = new IntersectionObserver((entries, observer) => {entries.forEach(entry => {if (entry.isIntersecting) {const img = entry.target;img.src = img.dataset.src;img.onload = () => img.classList.remove('lazy');observer.unobserve(img);}});}, {rootMargin: '50px',threshold: 0.01});document.querySelectorAll('img.lazy').forEach(img => observer.observe(img));
}

2、检测div滚动触底

<div id="scrollableDiv" style="height: 300px; overflow-y: auto;"><!-- 内容 -->
</div>
var target = document.getElementById('scrollableDiv');
var observer = new IntersectionObserver(entries => {entries.forEach(entry => {if (entry.isIntersecting) {console.log('元素在视图中');} else {console.log('已滚动到底部');// 执行底部触达后的操作
        }});
}, {root: target, // 使用目标元素作为根元素,即相对于该元素滚动threshold: 1.0 // 表示完全可见时触发回调,此处设置为1.0表示完全到达底部时触发回调
});observer.observe(target);

 

相关新闻

  • 2025年评价高的白刚玉热门厂家推荐榜单
  • NOIP前计划
  • 2025年知名的速冻淡水虾仁TOP品牌厂家排行榜

最新新闻

  • 靠谱的企业管理咨询公司推荐榜2026 - 资讯纵览
  • GEO 优化服务商哪家落地效果真实可查?2026 五家高口碑机构深度评测 - 小兔崽子cheng
  • Java 明明有 GC,为什么还会 OOM?生产事故引起了一下反思
  • 2026 年北京洋酒高价回收机构甄选:专业鉴定与高溢价变现行业参考 - 资讯纵览
  • Tortoise ORM:Python 异步世界的 Django 风格 ORM
  • 常州保时捷帕拉梅拉音响改装 音乐人生打造劲浪乌托邦打造移动音乐厅 - 音乐人生汽车音响

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号