Open taoliujun opened 8 months ago
MDN: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
Intersection Observer用于检测目标元素与祖先元素或顶级文档的视口相交情况的变化。主要用于:
相交观察器接口,实例化的时候接受一个回调函数,和一个配置项。
观察是异步的,所以回调函数执行时获取的相交信息,不是实时的。
回调函数包含了两个入参:
entries,IntersectionObserverEntry接口集合。
IntersectionObserverEntry
observer,本实例。
配置项包含属性:
root,必须是被观察元素的祖先元素,或null表示为顶级文档。被观察元素将与该元素相交。
null
rootMargin,计算交叉时偏移。默认为0 0 0 0。
0 0 0 0
threshold,相交比例阈值,0-1,表示相交比例达到多少时会触发回调函数,默认为0。
0
本接口实例返回了一系列属性,如root、rootMargin等,意义同入参配置项。还返回了一系列方法如下:
root
rootMargin
某一时刻的相交信息,包含了一系列属性:
//
示例:https://taoliujun.github.io/example/web-api/Intersection_Observer_API/index.html
[0,1]
元素1全部可见,元素2是0.33的区域可见,元素3则完全不可见。
Intersection Observer
Intersection Observer用于检测目标元素与祖先元素或顶级文档的视口相交情况的变化。主要用于:
接口
IntersectionObserver
相交观察器接口,实例化的时候接受一个回调函数,和一个配置项。
回调函数包含了两个入参:
entries,
IntersectionObserverEntry
接口集合。observer,本实例。
配置项包含属性:
root,必须是被观察元素的祖先元素,或
null
表示为顶级文档。被观察元素将与该元素相交。rootMargin,计算交叉时偏移。默认为
0 0 0 0
。threshold,相交比例阈值,0-1,表示相交比例达到多少时会触发回调函数,默认为
0
。本接口实例返回了一系列属性,如
root
、rootMargin
等,意义同入参配置项。还返回了一系列方法如下:IntersectionObserverEntry
某一时刻的相交信息,包含了一系列属性:
属性和方法
//
事件
//
示例
示例:https://taoliujun.github.io/example/web-api/Intersection_Observer_API/index.html
[0,1]
,表示被观察者的相交区域比例在0或1发生变化的时候,都会触发回到函数,初始化日志:元素1全部可见,元素2是0.33的区域可见,元素3则完全不可见。