js取得clientWidth为0的解决

来源:互联网 发布:广州时代大数据公司 编辑:程序博客网 时间:2024/06/16 09:46

在做图片分享的时候遇到过这么个问题,上网上搜了一下,有人也遇到过,解决方案都在下面,谢谢了!

转载出处:js取得clientWidth为0的解决

今天由于需要计算div的占位等信息,需要拿到clientWidth,结果却发现一只是0;后来经过不断测试,发现如果不设置div的width属性,即width值为“auto”的情况下,clientWidth永远是0;只有在为width属性设置了其他值(使用百分比或绝对数值都可以)以后才可以正确拿到数据;

  但有些情况下,是不需要也不能设置width属性的,这时候如果需要使用clientWidth值,可以通过offsetWidth计算得到,这两个属性相差的只是边框的宽度,用offsetWidth - 边框宽度即可;offsetWidth在不设置width属性时也可以拿到的,幸好。