如何检查图片是否已加载?

时间:2012-05-14 19:06:53

标签: javascript

如何检查图片是否已加载?

image.src = ay.url_static + 'uploads/apps/' + thumbnail.uid + '.png';
image.onload = function(e)
{                   
    // [..]
};

我知道如何在加载图像时触发回调,但如何检查图片是否已加载?

3 个答案:

答案 0 :(得分:1)

我不确定你想要什么,但据我所知,你需要知道是否随时加载了一张图片,对吗?

我有一个功能,检查图像是否有效。如果需要,您可以使用它来查看图像是否已经加载。如果您不想知道图像是否有效,则只能使用img.complete属性。

function IsImageLoaded(img) {

    if (!img.complete) {
        return false;
    }

    if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) {
        return false;
    }

    return true;
}

答案 1 :(得分:0)

设置image.loaded = false,然后在onload回调中设置image.loaded = true并稍后检查该属性?

或者image.complete似乎是一个合法的属性,如果不是W3C。

答案 2 :(得分:0)

假设你正在使用jQuery ...

image.onload = function(e)
{                   
    $(this).data({loaded: true});
};

...后

if($(yourImage).data('loaded')) {
  // it's loaded!
} else {
  // it's not
}

jQuery的.data()非常适合设置特定于元素的变量。