IntersectionObserver的使用

简介: ​IntersectionObserverAPI,可以自动"观察"元素是否可见,由于可见(visible)的本质是,目标元素与视口产生一个交叉区,所以这个 API叫做"交叉观察器"。

前言

IntersectionObserverAPI,可以自动"观察"元素是否可见,由于可见(visible)的本质是,目标元素与视口产生一个交叉区,所以这个 API

叫做"交叉观察器"。


它的用法比较简单

就是我们先用new实例化一下

let io = new IntersectionObserver(cb, ops)

IntersectionObserver是浏览器原生提供的构造函数, 接受两个参数:cb是可见性变化时提供的回调函数,ops是配置对象。

 // 开始观察
io.observe(获取的dom)
// 停止观察
io.unobserve(获取的dom)

callback函数

callback = (entries)=>{
  console.log(entries);//所有可见dom的
}

IntersectionObserverEntry 对象

isIntersecting元素是否可见,如果可见为true,否则为false

time:可见性发生变化的时间,是一个高精度时间戳,单位为毫秒

target:被观察的目标元素,是一个 DOM 节点对象

rootBounds:根元素的矩形区域的信息,getBoundingClientRect()方法的返回值,如果没有根元素(即直接相对于视口滚动),则返回null

boundingClientRect:目标元素的矩形区域的信息

intersectionRect:目标元素与视口(或根元素)的交叉区域的信息

intersectionRatio:目标元素的可见比例,即intersectionRect占boundingClientRect的比例,完全可见时

相关文章
|
6月前
|
缓存 自然语言处理 开发工具
Python中 __pycache__文件夹是什么?
Python中 __pycache__文件夹是什么?
110 5
|
8月前
|
机器学习/深度学习 自动驾驶 算法
Q-YOLOP来啦 | 一个具有量化感知全景驾驶感知模型
Q-YOLOP来啦 | 一个具有量化感知全景驾驶感知模型
125 0
|
8月前
|
机器学习/深度学习 人工智能 算法
机器学习入门知识
机器学习入门知识
194 0
|
8月前
|
安全 Java Linux
【教程】代码混淆详解
【教程】代码混淆详解
138 0
|
JavaScript 前端开发 Go
微前端之qiankun 介绍和简单使用
微前端之qiankun 介绍和简单使用
6109 0
|
JavaScript
今天你清楚vue2的nextTick的原理了吗
今天你清楚vue2的nextTick的原理了吗
今天你清楚vue2的nextTick的原理了吗
|
Java Nacos Spring
Spring boot集成nacos图文教程
Spring boot集成nacos图文教程
352 0
|
小程序 Java 应用服务中间件
Spring Boot如何配置SSL实现同时支持http和https协议(超简单)
Spring Boot如何配置SSL实现同时支持http和https协议(超简单)
812 0
|
SQL 分布式计算 Spark
成功解决java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483648
成功解决java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483648
357 0
|
网络协议 NoSQL Redis
如何才能让自己写的项目不在服务器部署也能访问?
frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。
302 0
如何才能让自己写的项目不在服务器部署也能访问?