首先我们看看,id为hoststatus的div宽度为:111.8px:
这里写图片描述

然后使用js打印出#hoststatus的宽度看看:
这里写图片描述
这里写图片描述

结果为1503.2px,为什么会出现这个结果????

我们再来看看他的父元素宽度:
这里写图片描述

再打印出宽度看看:
这里写图片描述
这里写图片描述

结果还是这样,那让我们看看他的父元素,先给他的父元素加个id:
这里写图片描述

再打印出来看看:
这里写图片描述
父元素确实是id为parent的元素,但是宽度为什么会是1503.2px呢???

分析:1503的宽度也不知道是怎么计算出来的,html和body的宽度是1519.200
弄了很久,终于解决了,估计是浏览器刷新后vue render函数重新渲染dom导致的问题,由于echart所用的标签元素比页面元素的先加载出来,所以获取不到宽度
解决办法,页面加载之后立即执行:
这里写图片描述
这里写图片描述
这里写图片描述

但是onload只能执行一次,要执行多次我们可以使用setTimeout函数让他延时几秒也能达到目的

Logo

前往低代码交流专区

更多推荐