当前位置: 代码迷 >> Web前端 >> 兼容IE,firefox,chrome,safari预加载图片height跟width获取
  详细解决方案

兼容IE,firefox,chrome,safari预加载图片height跟width获取

热度:83   发布时间:2012-11-22 00:16:41.0
兼容IE,firefox,chrome,safari预加载图片height和width获取

在web开发中我们有时需要通过js去预加载图片,按照平常的写法:?

var img=new Image();?
img.src="xxxx图片路径";?
然后alert(img.height);?
这种写法在chrome上就不适用了,在chrome中弹出0.?
为了修正这种异常可以采用下面的写法?

function loadImage(url) {?
??? var img = new Image();?
??? img.src = url;?
??? if (img.complete) {?
??????? alert(img.width);?
??????? return;?
??? }?

??? img.onload = function () {?
??????? callback.call(img);?
?????????? alert(this.height);?
??? };?
};?
这种写法就可以解决这个这一问题了。?
jquery写法?
$("img").load(function(){?
if (this.complete||this.readyState=="complete") {?
??????? $(this).css({"margin-left":(120-this.width)/2,"margin-top":(80-this.height)/2});?
??????? return;?
??? }?
})
  相关解决方案