js 可以用offsetWidth 获取控件宽度 , 能获取左边框与body的距离吗

js 可以用offsetWidth 获取控件宽度 , 能获取左边框与body的距离吗,第1张

如果元素是body内的一级元素,可以用offsetLeft直接获得其左边距。

如果元素是嵌套的,且父元素中存在容器元素(即具有定位属性的元素,包括绝对定位、相对定位、固定定位),则情况要变复杂了,需要把所有容器的offsetLeft和元素的offsetLeft相加才是最终的左边距:

var obj=documentgetElementById("test"); //假定元素的id为test

var left=objoffsetLeft;

while(obj=objoffsetParent){

   left+=objoffsetLeft;

}

consolelog(left);  //left就是左边距

给echarts图表设置 100% 宽高,父容器动态设置一个宽高时,echarts图表会占满不了父容器或者溢出父容器范围。

产生问题的原因是因为echarts图形只绘制一次,且绘制时自动获取父级大小填写宽度,然后改变容器宽高,导致echarts绑定的元素的宽度并不是最终的宽度,所以造成了获取到的结果并不是想要的。

解决办法是延迟加载,等父容器设置完宽高以后echarts再进行渲染:

这种情况用CSS来控制最合适。例如你想让初始显示为100px100px,则:

<img src="images/picpng" width="100" height="100" />

或者:

<img src="images/picpng" style="width:100px; height:100px" />

当页面中非常多,且要求每张的大小依据其父容器来固定怎么办?可以使用max-weight:

img {max-weight:100%;}

这样会自动缩放到和其父容器等宽。

以上就是关于js 可以用offsetWidth 获取控件宽度 , 能获取左边框与body的距离吗全部的内容,包括:js 可以用offsetWidth 获取控件宽度 , 能获取左边框与body的距离吗、echarts超出父容器范围和自适应的解决办法、js 控制图片大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9795774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存