intersectionobserver专题

【new IntersectionObserver】vue3 数据懒加载

new IntersectionObserver js方法描述步骤 实现逻辑:通过监视底部节点可视情况,获取新数据进行渲染,如果获取不到最新数据则显示暂无其他数据 new IntersectionObserver 是用于监视元素可见度,所以我们只需要监视数据下方的dom是否可见 import { type Ref, watchEffect, ref } from "vue"//我用的ts,不需

js 监听元素是否出现在可视区域--IntersectionObserver

观察者模式监听判断dom元素是否在可视区域内 本项目是使用vue3的写法。 1.IntersectionObserver IntersectionObserver可以用来自动监听元素是否进入了设备的可视区域之内,而不需要频繁的计算来做这个判断。由于可见(visible)的本质是,目标元素与视口产生一个交叉区,所以这个 API 叫做"交叉观察器" const observer = new In

JS“观察“元素是否可见——记录IntersectionObserver API 使用教程

网页开发时,常常需要了解某个元素是否进入了"视口"(viewport),即用户能不能看到它。 上图的绿色方块不断滚动,顶部会提示它的可见性。 传统的实现方法是,监听到scroll事件后,调用目标元素(绿色方块)的getBoundingClientRect()方法,得到它对应于视口左上角的坐标,再判断是否在视口之内。这种方法的缺点是,由于scroll事件密集发生,计算量很大,容易造成性能问题

IntersectionObserver

IntersectionObserver 这个API主要实现图片懒加载、加载更多等等。 该API作用是观察两个元素之间有没有交叉,有没有重叠 现在要做的是当图片跟视口有交叉的情况下,把data-src的图片路径替换给src属性 //第一个参数是 回调,第二个参数的 配置 const ob = new IntersectionObserver((entries)=>{ for (cons

通过IntersectionObserver实现图片下拉加载(瀑布流布局)

效果展示: 瀑布流上拉加载 目录结构 html: <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-widt

IntersectionObserver应用之实现元素随着页面滚动吸附在顶部的效果

现在很多app都有这样的效果,某元素随着页面的滚动,吸附在顶部的效果。本文将介绍实现这种效果的两种不同的方法。 先看一下效果图: 使用IntersectionObserver 思路 上一篇博客详细介绍了IntersectionObserver的用法。这里用来实现这种吸附的效果,应该先想到的是,判断哪两个元素的相交。你可以根据需要来选择不同参照物。当相交的时候,将元素置顶吸附;不相交的时候,回到

vue项目js原生属性IntersectionObserver实现图片懒加载

vue项目js原生属性IntersectionObserver实现图片懒加载 IntersectionObserver 使用js原生属性IntersectionObserver实现观察img元素是否处于游览器视口中 懒加载原理:给img设置一个默认url图片,观察图片处于视口内以后,动态改变img的url为自己想要显示的url 先上效果图: 新建js文件:lazyLoad.js

vue项目js原生属性IntersectionObserver实现图片懒加载

vue项目js原生属性IntersectionObserver实现图片懒加载 IntersectionObserver 使用js原生属性IntersectionObserver实现观察img元素是否处于游览器视口中 懒加载原理:给img设置一个默认url图片,观察图片处于视口内以后,动态改变img的url为自己想要显示的url 先上效果图: 新建js文件:lazyLoad.js