(
function () {
function (imgs, options) {
this.imgs = (
typeof imgs ===
'string') ? [imgs] : imgs;
this.opts = $.extend({}, ProLoad.DEDAULTS, options);
if (
this.opts.order ===
'ordered') {
this._ordered();
}
else{
this._unordered();
}
}
ProLoad.DEDAULTS = {
order:
'unordered',
each:
null,
all:
null
};
ProLoad.prototype._ordered =
function () {
var opts =
this.opts,
imgs =
this.imgs,
len = imgs.length,
count =
0;
load();
function load() {
var imgObj =
new Image();
$(imgObj).on(
'load error',
function () {
if (count >= len) {
}
else{
load()
}
count++;
});
imgObj.src = imgs[count];
}
};
ProLoad.prototype._unordered =
function () {
var imgs =
this.imgs,
opts =
this.opts,
count =
0,
len = imgs.length;
$.each(imgs,
function (i, src) {
if (
typeof src !=
'string')
return;
var imgObj =
new Image();
$(imgObj).on(
'load error',
function () {
opts.each && opts.each(count);
if (count >= len -
1) {
opts.all && opts.all();
}
count++;
})
imgObj.src = src;
})
};
$.extend({
preload:
function (imgs, opts) {
new ProLoad(imgs,opts);
}
})
})(jQuery);
|