当前位置: 首页 > article >正文

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


http://www.kler.cn/a/412384.html

相关文章:

  • WinForm 的Combox下拉框 在FlatStyle.Flat的边框设置
  • 【ComfyUI】前景分割ComfyUI-BiRefNet-Hugo (无法选定分割的主体,背景鉴别由模型数据,也叫二分分割,显著性分割)
  • 深入浅出摸透AIGC文生图产品SD(Stable Diffusion)
  • Ubuntu安装不同版本的opencv,并任意切换使用
  • 数据通信和网络
  • 深入理解 Java 基本语法之运算符
  • shell编程4,shell脚本于用户交互+关系运算符
  • C#基础题总结
  • 【大数据学习 | Spark-SQL】SparkSQL读写数据
  • STM32 使用ARM Compiler V6 编译裸机 LWIP协议栈报错的解决方法
  • 【pyspark学习从入门到精通21】机器学习库_4
  • 解决`-bash: ./configure:/bin/sh^M:解释器错误: 没有那个文件或目录`的问题
  • 项目学习:仿b站的视频网站项目03-注册功能
  • 沃丰科技出海客服系统:打造全球化客户服务新标杆
  • 日志打印规范
  • AVL、B树和B+树
  • 学习笔记039——SpringBoot整合Redis
  • width设置100vh但出现横向滚动条的问题
  • 速度革命:esbuild如何改变前端构建游戏 (1)
  • 多模态大模型打造沉浸式社交体验,Soul App创始人张璐团队海外首秀GITEX GLOBAL
  • 使用OpenCV实现图像拼接
  • 【C++第三方库】Muduo库结合ProtoBuf库搭建服务端和客户端的过程和源码
  • 【JavaEE初阶 — 网络编程】Socket 套接字 & UDP数据报套接字编程
  • Linux 虚拟机下安装RedisJSON
  • 【Pytorch框架】无中生有,从0到1使用Dataset类处理MNIST数据集
  • 多线程1:基础概念、接口介绍、锁