Preload images
by ZeNz0r
JavaScript
function preload(list, callback, imageCallback ) {
var at = len = list.length;
return list = list.map(function (item) {
var pItem = new Image();
pItem.onload = function (i) {
imageCallback && imageCallback.call(this, this, len-at, len);
if (!--at) {
callback(list);
}
};
pItem.src = item;
return pItem;
});
}
BAM!
var list = preload(["1.png","2.png","3.png" ... ], function complete(list) {
console.log('images all loaded!');
}, function loaded(image, index, listCount) {
console.log('image ' + index + ' of + 'listCount is loaded');
});