JavaScript-怎么解决javascript取图片尺寸第一次是0,0

发布于 2017-08-11 04:20:21 字数 984 浏览 1296 评论 1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JavaScript获取图片大小</title>
</head>
<script>
var imgSize=[0,0];
var imgSizeReturn=function(tempObj){
imgSize[0]=tempObj.height;
imgSize[1]=tempObj.width;
alert(imgSize);
};

var setImgSrc=function(){
document.getElementById('hiddenImg').src="136300066089774700_a_4.jpg";
imgSizeReturn(document.getElementById('hiddenImg'));
};
</script>
<body>
<img id="hiddenImg" style="visibility:hidden; position:absolute; z-index:-10; top:0; left:0;"/>
<input type="button" onclick="setImgSrc()" value="获取" />
</body>
</html>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

晚风撩人 2017-10-24 04:10:14 1 楼

问题出在setImgSrc()函数,因为你设置图片的src之后立即调用imgSizeReturn(),这时候图片其实还没有加载完成,所以取到的width和height都是0。

解决办法:等图片onload以后再调用imgSizeReturn()函数。setImgSrc()可以改成下面这样:

var setImgSrc=function(){
document.getElementById('hiddenImg').onload = function(){
imgSizeReturn(document.getElementById('hiddenImg'));
}
document.getElementById('hiddenImg').src="136300066089774700_a_4.jpg";
};

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击“接受”或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。