javascript - 怎么用原生js获取img高度
阿神
阿神 2017-04-10 16:40:08
[JavaScript讨论组]

如题
怎么用原生js获取img高度,img没有设置height属性

这种方式offsetHeight可以获取高度

如果是这么写 offsetHeight clientHeight都不行

最新发现,就chrome不行。Firefox,IE的 offsetHeight,clientHeight,height都可以。chrome版本为47.0.2526.73 m,但是用jq img.height()却可以喔。

以下方法是不行的(就chrome不行,IE Firefox都可以)

    
    

以下方法是是可以的,就加了onload

    
    

我会之后再在别的地方试试看是否是浏览器坏了

阿神
阿神

闭关修行中......

全部回复(4)
阿神
var img = document.getElementById('imgId');
imgHeight = img.height; // img元素本来就有height属性

你可以遍历一下元素属性:

var img = document.getElementById('imgId');
for(var x in img){
    console.log(x+":"+img[x]);
}

在chrome里输出:

width:24 // 图片实际渲染的宽
height:24
naturalWidth:64 // 图片原来的宽
naturalHeight:64
天蓬老师
var img = document.getElementById('imgId');
imgHeight = img.offsetHeight;
PHPz

因为不在onload执行的话,s这段script会在image下载到浏览器之前执行,此时img元素还只是一个空节点。因此要等到图片被渲染出来之后计算尺寸

黄舟

是因为没加onload的话,有时候图片还没加载完成,自然js就无法获取到它的高度。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号