js 判断图片已经加载完成 是一个很常见的问题,网上也有很多的解决方案。但是运行后很多都不兼容,或者
说,存在一些奇怪的问题。一种解决方案是都用onload。因为onload 在ie 下有同步方面的问题。
所以,我用了 onreadystatechange 。 代码和 使用方法如下:
<script>
function SImage(callback)
{
var img = new Image();
this.img = img;
if (!-[1,]) { //ie
img.onreadystatechange = function () {
if (img.readyState == "complete"){
callback(img);
}
};
} else {
//firefox
img.onload = function () {
if (img.complete == true){
callback(img);
}
}
}
}
SImage.prototype.get = function (url)
{
this.img.src = url;
}
var img = new SImage(icall);
img.get("http://space.cnblogs.com/images/logo.gif");
function icall(obj)
{
alert(obj.width);
}
</script>
loading