有很多方法可以做到这一点。
我已经完成了一个加载图像数组的函数,完成后使用加载的图像数组和您可以选择的其他参数调用回调函数。
function load(files, callback)
{
var args = Array.prototype.slice.call(arguments);
var loadedFiles = [];
var load = Function.prototype.bind.apply(callback, [callback,loadedFiles].concat(args.slice(2)));
for(var i = files.length;i--;)
{
load = (function(f, i)
{
return function()
{
// console.log('Loading '+(i+1)+'.');
var file = new Image();
loadedFiles.push(file);
file.onload = f;
file.src = files[i];
};
})(load, i);
}
load();
}
// And then you use it like this
// load(['a.jpg', 'b.jpg'], function(files, extraValue1){console.log('loaded');}, 'anything')
这是一个可以帮助您理解的示例:http: //jsfiddle.net/uN5m9/。