如何检查已加载的图像是否已加载JavaScript?

时间:2014-10-06 10:51:12

标签: javascript html image onload

我没有提到任何一个:

var img = document.getElementById('someimage');
img.onload = function () {.....};

或:

$("#someimage").load(function (){...});

如果我错了,请纠正我但我相信如果图片 尚未 ,则上述两个选项有效在调用任何这些函数时加载

如果在调用上述函数之一时已加载#someimage,则该函数将无法执行。

我可以创建一个不断检查图像高度和宽度的间隔,一旦它们都不等于零,那么考虑将图像加载:

var checkImg = setInterval (function ($img, cb)
{
   if (($img.height() > 0) && ($img.width() > 0))
   {
      clearInterval(checkImg);
      cb();
   }
}, 200);

我已经尝试了这一点,但在图像达到最大值之前,显然无法评估图像的高度和宽度。

我可以检查图像的高度和宽度是否正确,但我可能事先不知道图像的高度和宽度。我还想避免使用magic numbers

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

我认为您正在寻找此处提供的解决方案:

How to tell if an image is loaded or cached in JQuery?

基本上,检查图像对象的“.complete”属性。