javascript的获取新建Image对象的width第一次为0,刷新一次才行?
js代码如下varimg=newImage();img.src="test.jpg";document.write(img.width);第一次打开浏览器是0,刷新一次即...
js代码如下
var img = new Image();
img.src = "test.jpg";
document.write(img.width);
第一次打开浏览器是0,刷新一次即可,研究了半天可能是缓存加载问题,与onload有关,请问如何获取图片加载完之后的正确width信息。感谢! 展开
var img = new Image();
img.src = "test.jpg";
document.write(img.width);
第一次打开浏览器是0,刷新一次即可,研究了半天可能是缓存加载问题,与onload有关,请问如何获取图片加载完之后的正确width信息。感谢! 展开
2个回答
展开全部
var img = new Image();
img.onload = function(){
document.write(img.width);
}
img.src = "test.jpg";
试试这样
img.onload = function(){
document.write(img.width);
}
img.src = "test.jpg";
试试这样
更多追问追答
追问
感谢,这样是可以显示的,但浏览器一直处于加载缓存状态,且我想把width值读到一个变量里,如下:
var t=0;
img.src = "image/1.jpg";
img.onload=function(){t=img.width;}
document.write(t);
这样写还是不行
追答
处于加载状态是不是因为图片太大了
2. 你要设置到某个变量里面你这样子写肯定是不行的,而且你上面的代码有个问题是:
a. onload的方法必须定义在赋值src之前
b.最后你document.write的时候有可能图片还没有加载完,所以t还是0
你需要做的是,把onload方法提前到赋值之前。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询