46、深入理解浏览器中的 Observer APIs

深入理解浏览器中的 Observer APIs

1. Resize Observer API 概述

Resize Observer API 不使用记录队列系统,其回调触发间隔有严格定义。当浏览器在布局渲染阶段后检测到元素大小改变,会触发一个回调,并携带一个 ResizeObserverEntry 对象,该对象记录了目标元素的当前状态。下一次事件触发需等到下一个布局阶段,因此不会出现同一事件触发两个大小改变事件的情况,也就无需队列。

2. Intersection Observers

Intersection Observer API 可用于跟踪 DOM 元素相对于指定视口或容器元素的可见性和位置。通过创建 IntersectionObserver 实例,当被观察元素进入或离开视口时,可异步执行回调函数。该 API 在实现基于滚动的动画、图像懒加载或无限滚动等性能优化方面非常有用。

2.1 创建 IntersectionObserver 实例

创建 IntersectionObserver 实例时,需调用构造函数并传入回调函数和可选的选项对象:

let observer = new IntersectionObserver(() => console.log("Intersection!"));

若不提供选项,观察者的默认行为如下:
- 默认视口为文档视口,即整个屏幕。
- 默认阈值为 0,意味

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值