我有一个用于jQuery的coverflow插件,它应该适应一系列图像中最高的图像。
目前,它在每个图像上使用.load()
绑定,并在计数器指示已加载所有图像后调整插件。我被告知这在所有浏览器上都不可靠。
通常,大多数这些图像都已经加载到浏览器缓存中,因此.load()
绑定的触发次数远远超过必要。
为了减少开销,我希望通过仅对尚未加载的图像使用.load()
绑定来尽可能减少.load()
绑定的数量。
如何区分已加载的图像尚未加载的图像?
答案 0 :(得分:8)
在绑定事件之前检查图像的complete
属性。例如:
var img = $('.someImage');
if (img.prop('complete')) {
// already loaded
} else {
img.load(function(){
// now it has loaded
});
}