(function () {
var timing = function () {
this._timer = null;
this._percent = 0;
this._isLoading = false;
this._isPause = false;
this._step = 2;
};
timing.prototype = {
start: function (url, obj) {
var self = this;
self._percent = 0;
self._loadImg(url);
self._timer = setInterval(function () {
self._judge(url, obj);
self._scroll();
}, 30);
},
_pause: function () {
this._isPause = true;
this._step = 0;
},
_restart: function () {
this._isPause = false;
this._step = 3;
},
_scroll: function () {
$('.loading-progress').width(this._percent + "%");
this._percent += this._step;
},
_loadImg: function (url) {
var self = this;
var img = new Image();
$(img).load(function () {
setTimeout(function () {//模拟加载
self._isLoading = true;
}, 2000);
});
img.src=url;
},
_judge: function (url, obj) {
if (this._percent >= 70 && !this._isLoading) {
this._pause();
}
if (this._percent >= 70 && this._isLoading && this._isPause) {
this._restart();
}
if (this._percent >= 100) {
obj.attr("src", url);
this.destroy();
}
},
destroy: function () {
this._percent = 0;
clearInterval(this._timer);
$('.loading').hide();
}
}
if (typeof window.timing == 'undefined' || window.timing == null) {
window.timing = new timing();
}
})();
$(function () {
timing.start('../img/load-image.jpg', $("img").eq(0));
});