-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathimage-preloader.min.js
More file actions
3 lines (3 loc) · 1.5 KB
/
image-preloader.min.js
File metadata and controls
3 lines (3 loc) · 1.5 KB
1
2
3
(function(b){preLoader={$win:b(window),$el:b("body").find("*"),preloader:b('<div id="loadarea"></div>').appendTo(b("body")),loader:b('<div id="loader"></div>').appendTo(b("body")).css({width:"100%",height:"100%"}),items:[],doneStatus:0,doneNow:0,ie:navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/),ieLoadFixTime:2E3,ieTimeout:"",finishEvent:b.Event("preloadFinished"),init:function(){if("MSIE 6.0,6.0"===this.ie)return!1;this.loader.css("display","block");this.getImages();this.ieTimeout=setTimeout("preLoader.ieLoadFix()",
preLoader.ieLoadFixTime)},ieLoadFix:function(){if(void 0!==this.ie&&null!==this.ie&&this.ie[0].match("MSIE"))for(;100>100/this.doneStatus*this.doneNow;)this.imgCallback();else this.doneLoad()},imgCallback:function(){var a=preLoader;++a.doneNow===a.doneStatus&&a.doneLoad()},getImages:function(){var a=this;a.$el.each(function(){var c=b(this),d=c.css("background-image"),c=c.attr("src");(d=d||c?"none"!==d&&!d.match(/gradient/)?d.replace('url("',"").replace("url(","").replace('")',"").replace(")",""):
void 0!==typeof c&&"img"===this.nodeName.toLowerCase()?c:!1:!1)&&a.items.push(d)});a.doneStatus=a.items.length;a.createPreloading()},createPreloading:function(){var a;for(a=0;a<this.items.length;a++)b("<img />",{src:this.items[a]}).unbind("load").bind("load",this.imgCallback).appendTo(this.preloader)},doneLoad:function(){var a=this;clearTimeout(a.ieTimeout);a.preloader.remove();a.loader.fadeOut(800,function(){b(this).remove();a.$win.trigger(a.finishEvent)})}};return preLoader.init()})(jQuery);