www.gusucode.com > 200套html5精品模板1_50 > 200套html5精品模板1_50/022/js/jquery.preloader.js
// JavaScript Document jQuery(function(){ jQuery("#content img").wrap("<div />"); }); $.fn.preloader = function(options){ var defaults = { delay:200, check_timer:300, ondone:function(){ }, oneachload:function(image){ }, fadein:500 }; // variables declaration and precaching images and parent container var options = $.extend(defaults, options), root = $(this) , images = root.find("img").css({"visibility":"hidden",opacity:0}) , timer , counter = 0, i=0 , checkFlag = [] , delaySum = options.delay , init = function(){ timer = setInterval(function(){ if(counter>=checkFlag.length) { clearInterval(timer); options.ondone(); return; } for(i=0;i<images.length;i++) { if(images[i].complete==true) { if(checkFlag[i]==false) { checkFlag[i] = true; options.oneachload(images[i]); counter++; delaySum = delaySum + options.delay; } $(images[i]).css("visibility","visible").delay(delaySum).animate({opacity:1},options.fadein, function(){ $(this).parent().removeClass("preloader"); }); } } },options.check_timer) } ; images.each(function(){ if($(this).parent(options.preload_parent).length==0) $(this).wrap("<div class='preloader' />"); else $(this).parent().addClass("preloader"); checkFlag[i++] = false; }); images = $.makeArray(images); var icon = jQuery("<img />",{ id : 'loadingicon' , src : 'img/loader.gif' }).hide().appendTo("body"); timer = setInterval(function(){ if(icon[0].complete==true) { clearInterval(timer); init(); icon.remove(); return; } },100); }