如何检查图片是否已加载

How to check if picture is loaded?

本文关键字:是否 加载 何检查 检查      更新时间:2023-09-26

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

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

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

我不确定你想要什么,但据我所知,你需要知道图像是否在任何时刻加载,对吧?

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

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

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

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

假设你使用的是jQuery...

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

后。。。

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

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