用JS 判断图片已经加载完成(兼容IE 和 Firefox)

2011-08-25 15:37:33 by 【6yang】, 431 visits, 收藏 | 返回

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>

分享到:
share

    图片原图

    loading

    loading