IntersectionObserver
基线 广泛可用
此功能已完善,并在许多设备和浏览器版本中运行。它自 2019 年 3 月.
报告反馈
IntersectionObserver
是 Intersection Observer API 的一个接口,它提供了一种异步观察目标元素与祖先元素或顶级文档的 视窗 相交情况变化的方法。祖先元素或视窗被称为根元素。
构造函数
IntersectionObserver()
-
创建
IntersectionObserver
时,会配置它以观察根元素内给定的可见比例。配置创建后无法更改,因此给定的观察器对象仅适用于观察可见比例的特定变化;但是,您可以使用同一个观察器观察多个目标元素。
实例属性
实例方法
阈值的列表,按升序排列,其中每个阈值是观察到的目标的相交区域与边界框区域的比例。当目标越过任何阈值时,会为该目标生成通知。如果构造函数没有传递值,则使用 0。
-
IntersectionObserver.disconnect()
阻止
IntersectionObserver
对象观察任何目标。-
IntersectionObserver.observe()
告诉
IntersectionObserver
要观察的目标元素。-
IntersectionObserver.takeRecords()
返回所有被观察目标的
IntersectionObserverEntry
对象数组。-
IntersectionObserver.unobserve()
示例
告诉
IntersectionObserver
停止观察特定目标元素。const intersectionObserver = new IntersectionObserver((entries) => {
// If intersectionRatio is 0, the target is out of view
// and we do not need to do anything.
if (entries[0].intersectionRatio <= 0) return;
loadItems(10);
console.log("Loaded new items");
});
// start observing
intersectionObserver.observe(document.querySelector(".scrollerFooter"));
规范
js |
---|
规范 # Intersection Observer |
浏览器兼容性
intersection-observer-interface