首页 > 其他分享 >IntersectionObserver 交叉观察器

IntersectionObserver 交叉观察器

时间:2024-11-30 16:29:55浏览次数:6  
标签:观察器 视窗 observer Dom 对象 交叉 IntersectionObserver 监听

目录

1、IntersectionObserver 介绍

2、添加观察Dom对象

3、创建观察对象

3.1、IntersectionObserver有两个参数:

3.2、IntersectionObserver 观察实例提供方法:

 3.3、option 参数配置


1、IntersectionObserver 介绍

IntersectionObserver该接口提供观察元素与父元素交叉状态的方法

2、添加观察Dom对象
<div id="td_box_id"></div>

let target = document.getElementById('td_box_id');
3、创建观察对象
let observer: IntersectionObserver;
observer = new IntersectionObserver(
		(entries) => {
			entries.forEach((item) => {
                //这里判断当前交叉状态,如果返回true,则监听Dom对象与父组件产生交叉
				if (item.isIntersecting) {
					observer && observer.unobserve(target);//取消监听Dom对象
				}
			});
		},
		{
			threshold: 0.3,
		}
	);
observer && observer.observe(target);//开始监听Dom对象
//该方法写在页面销毁前
observer && observer.disconnect();//销毁监听对象
3.1、IntersectionObserver有两个参数:
  • callback:交叉状态发生变化的回调函数
  • option:配置参数(可选)
3.2、IntersectionObserver 观察实例提供方法:
  • observe:开始监听Dom对象
  • unobserve:取消监听Dom对象
  • disconnect:销毁监听对象
  • takeRecords:获取所有监听对象
 3.3、option 参数配置
  • threshold:范围:0-1,表示观察者进入视窗百分比才会触发回调函数;0 表示观察者刚接触视窗,1表示观察者全部进入视窗
  • root:用于观察的根元素,默认是视窗,如果指定元素,则观察者Dom对象必须是该元素的子元素
  • rootMargin:延伸视窗的大小,类似css中的padding

标签:观察器,视窗,observer,Dom,对象,交叉,IntersectionObserver,监听
From: https://blog.csdn.net/qq_31971377/article/details/144081967

相关文章