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监听普通元素内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Vue项目中使用better-scroll实现菜单映射功能方法
这篇文章主要介绍了Vue项目中使用better-scroll实现菜单映射功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-09-09
vue 项目中的this.$get,this.$post等$的用法案例详解
vue.js的插件应该暴露一个install方法。这个方法的第一个参数是vue构造器,第二个参数是一个可选的选项对象,首页要安装axios,本文结合案例代码给大家详细讲解vue 中的this.$get,this.$post等$的用法,一起学习下吧2022-12-12
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
这篇文章主要介绍了Vue keepAlive 数据缓存工具,实现返回上一个页面浏览的位置,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2019-05-05
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
这篇文章主要介绍了vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题,文中单独给大家介绍了vue router路由懒加载问题,需要的朋友可以参考下2018-04-04


最新评论