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

做动感影集的网站北京网站建设公司大全

做动感影集的网站,北京网站建设公司大全,h5网页制作素材,网站建设优化服务精英这篇说下ResizeObserver API。ResizeObserver接口监视 Element 内容盒或边框盒或者 SVGElement 边界尺寸的变化。 ResizeObserver避免了通过回调函数调整大小时,通常创建的无限回调循环和循环依赖项。它只能通过在后续的帧中处理 DOM 中更深层次的元素来做到这一点…

这篇说下ResizeObserver API。ResizeObserver接口监视 Element 内容盒或边框盒或者 SVGElement 边界尺寸的变化。

ResizeObserver避免了通过回调函数调整大小时,通常创建的无限回调循环和循环依赖项。它只能通过在后续的帧中处理 DOM 中更深层次的元素来做到这一点。如果它的实现遵循规范,则应在绘制前和布局后调用 resize 事件。

这是官方介绍:ResizeObserver

方法

ResizeObserver.disconnect()

取消特定观察者目标上所有对 Element 的监听。

ResizeObserver.observe()

开始对指定 Element 的监听。

ResizeObserver.unobserve()

结束对指定 Element 的监听。

使用

let resizeObserver;if (!resizeObserver) {resizeObserver = new ResizeObserver(() => {// 监听元素发生改变触发})// 监听的目标容器盒子resizeObserver.observe(Element)
}

使用碰到的问题

在使用echarts图表的时候,我用这个api相对多点,在这之前我是监听的window的resize方法,当浏览器分辨率、缩放改变的时候调用echarts的resize方法来实现图表自适应,但是这样当局部容器盒子宽高发生改变时并不能监听到。

从此后我就使用了ResizeObserver API了,确实只要当容器盒子发生改变就可以进行监听到实现自适应,但是有个问题:我们一般在echarts setOption之后会进行监听图表容器的变化,来实现图表的自适应,就像下面这样写的:

this.charts = echarts.init(document.getElementById(this.id))
let option = {// ...
}
this.charts.setOption(option);
if (!this.resizeObserver) {this.resizeObserver = new ResizeObserver(() => {if (this.charts) {this.charts.resize()}});this.resizeObserver.observe(document.getElementById(this.id));
}

但是这样写,我们图表在进行第一次绘制的时候,就失去了动画效果 ,就是我们echarts图表自身时带有动画效果的,下面是一些官方基础配置:

具体是为什么失去了动画,我也没太搞明白,没去看ResizeObserver或者echarts的动画这块儿的源码,时间、精力有限。然后就简单看了下如何解决这个问题

我们要解决这个问题,其实也很简单,就是我们在echarts setOption之后等图表第一次绘制并动画结束之后再使用ResizeObserver监听即可。使用setTimeout 延迟就可以了,至于延迟几秒是取决于echarts中的animationDuration配置(这个动画时长),默认是1000ms ,所以我们把上面代码改造成下面就可以:

this.charts = echarts.init(document.getElementById(this.id))
let option = {// ...
}
this.charts.setOption(option);
if (!this.resizeObserver) {setTimeout(() => {this.resizeObserver = new ResizeObserver(() => {if (this.charts) {this.charts.resize()}});this.resizeObserver.observe(document.getElementById(this.id));}, 1000)
}
http://www.hengruixuexiao.com/news/50397.html

相关文章:

  • 曼奇立德原画培训多少钱北京seo网站开发
  • blog网站开发实例windows优化大师值得买吗
  • 漳州网站建设bt磁力
  • 建设网站的本质谷歌网站优化
  • 如何做销售网站百度投诉中心热线
  • 实验室建设网站广州白云区今天的消息
  • 智慧旅游门户网站建设网店代运营一年的费用是多少
  • 512m内存做网站百度检索入口
  • 网页设计制作一个餐饮网站昆山网站建设公司
  • 网站制作 郑州网络推广方式有哪些
  • 买了虚拟主机怎么做网站山东seo百度推广
  • 虎门做网站的公司什么网站推广比较好
  • 专业的网站制作正规公司百度产品大全首页
  • 怎么修改网站关键词百度网站的网址是什么
  • 南沙做网站百度搜图入口
  • 会员管理系统手机免费版广州seo推广营销
  • 广东省人民政府seo网站优化报价
  • b2c网站html关键词生成器 在线
  • 做钢材什么网站好东莞疫情最新数据
  • 哪个浏览器可以看禁止网站seo优化或网站编辑
  • 厦门网站的关键词自动排名百度云网盘登录入口
  • 衢州建筑地基加固win10优化软件哪个好
  • 接私活做网站设计潍坊做网站哪家好
  • 值得买 wordpress班级优化大师官网下载
  • 静态企业网站模板下载外链怎么发
  • wordpress如何修改html代码seo优化查询
  • 淄博网站建设设计公司石家庄网络推广优化
  • 本地建设网站seo技术网
  • 温州市住房和城乡建设厅网站线上线下一体化营销
  • 自己开店怎么办会员系统岳阳seo公司