element-resize-detector监听普通元素的实现示例
作者:库库的写代码
当涉及到网页元素的实时尺寸变化监测时,element-resize-detector 是一个值得推荐的开源库,本文主要介绍了element-resize-detector监听普通元素的实现示例,感兴趣的可以了解一下
说明:在进行后台系统开发时,经常会用到一些图表展示,当改变浏览大小后,这些图表本身是没有响应式的,可以借助第三方插件element-resize-detector
来监听窗口的变化
一、element-resize-detector 安装
当涉及到网页元素的实时尺寸变化监测时,element-resize-detector 是一个值得推荐的开源库。它能以惊人的速度实现跨浏览器的元素大小调整监听,比传统方法快了约37倍。让我们深入了解这个神器。
npm install element-resize-detector
element-resize-detector 使用了两种不同的监听策略:
- 对象方式:修改元素CSS属性使其触发布局更新,从而捕获尺寸变化。
- 滚动方式(默认):通过在元素内部创建滚动区域并监听滚动事件,达到无闪烁、高性能的监控效果。
该库在处理性能和兼容性方面做了大量工作,包括:
- 对于静态定位(position: static)的元素,会自动转换为相对定位。
- 添加隐藏元素作为内部监听器,以确保在所有浏览器中的稳定运行。
二、插件使用
1.插件引入
import elementResizeDetectorMaker from "element-resize-detector";
2.创建实例对象
let erd = elementResizeDetectorMaker(); //如果有快速滚动,如果没有不需要进行如下配置 let erdUltraFast = elementResizeDetectorMaker({ strategy: "scroll" });
3.监听元素
erd.listenTo( document.getElementById("endlistenEartagEchart"), //第一个参数是要监听的dom function (element) { setTimeout(() => { // that.chartBoxW = // document.getElementById("endlistenEartagEchart").offsetWidth - 30; // that.setEchart(); }, 0); } //第二个参数回调 执行dom变化执行的方法 );
到此这篇关于element-resize-detector监听普通元素的实现示例的文章就介绍到这了,更多相关element-resize-detector监听普通元素内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!