jQuery在绑定.load()事件之前检查图像是否已经加载

时间:2014-11-17 20:03:36

标签: jquery image events filter load

我有一个用于jQuery的coverflow插件,它应该适应一系列图像中最高的图像。

目前,它在每个图像上使用.load()绑定,并在计数器指示已加载所有图像后调整插件。我被告知这在所有浏览器上都不可靠。

通常,大多数这些图像都已经加载到浏览器缓存中,因此.load()绑定的触发次数远远超过必要。

为了减少开销,我希望通过仅对尚未加载的图像使用.load()绑定来尽可能减少.load()绑定的数量。

如何区分已加载的图像尚未加载的图像?

1 个答案:

答案 0 :(得分:8)

在绑定事件之前检查图像的complete属性。例如:

var img = $('.someImage');
if (img.prop('complete')) {
  // already loaded
} else {
  img.load(function(){
    // now it has loaded
  });
}