Jquery:使用回调函数根据请求预加载图像?

我正在帮助一个他正在开发的网站的朋友,我们在按要求预加载图片时遇到问题。 基本上,当用户点击产品的缩略图时,

向下滑动,其中包括滚动的大图像转盘。 总共有大约20MB的图像可以加载(如果你们全部完成),所以在页面加载上预加载它们是不可取的。

有没有办法我们可以调用一个javascript函数开始预加载大约4个图像然后当它完成它有一个回调函数?

谢谢! PS我们在页面上使用jQuery …

可以使用以下代码完成预加载图像:

 $(',{'src': image_source}); 

由于我们还可以在图像上使用load事件,因此我们可以在完成一个图像时进行回调; 要解决在加载四个图像后触发回调的问题,我们需要某种计数器。

也许以下代码可能有效(未经测试):

 var preloadImages = function(image_links, callback) { var self = this; // assume image_links is an array here var count = image_links.length; $.each( image_links, function(){ $('', { 'src': this, // url 'load': function(){ if( --count == 0 ) { callback.apply(self); } } }); }); }