<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>jquery 图片加载效果代码</title>
<script language="网页特效">
var static_path = (location.protocol=='https教程:')?'https://image.111cn.net/':'image://www.111cn.net/';jquery.fn.loadingimg = function(url) {
var obj = this;
var img = new image(); //new img obj
img.src = url; //set src either absolute or rel to css教程 dir
var w = jquery(obj).attr('width');
var h = jquery(obj).attr('height');jquery(obj).attr({'src':static_path+'/includes/templates/dev_v2/css/images/imgbox/s.gif','width':w,'height':h});
$(obj).css('background', 'url('+static_path+'/includes/templates/dev_v2/css/images/imgbox/loading_img_s.gif) 50% 50% no-repeat');
//msie or not
if(!img.complete){
jquery(img).bind('error load onreadystatechange', function(){jquery(obj).attr('src',url);});
//jquery(img).bind('load', function(){jquery(obj).attr('src',url);});
} else {
jquery(obj).attr('src',url);
}
}
</script>
</head><body>
</body>
</html>
代码二
<!doctype html public "-//w3c//dtd xhtml 1.0 strict//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-us">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>gaya design - query loader</title>
<link rel="stylesheet" href="css/style.css" type="text/css" />
<script type='text/javascript' src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/notfound.jpg /><br />
<img src='images/2.jpg' /><br />
<p>
<img src='images/3.jpg' />
<p>
<img src='images/4.jpg' />
</p>
</p>
</p>
</div>
<script>
queryloader.selectorpreload = "body";
queryloader.init();
</script>
</body>
</html>jquery插件代码
var queryloader = {
overlay: "",
loadbar: "",
preloader: "",
items: new array(),
donestatus: 0,
donenow: 0,
selectorpreload: "body",
ieloadfixtime: 2000,
ietimeout: "",
init: function() {
if (navigator.useragent.match(/msie (d+(?:.d+)+(?:bd*)?)/) == "msie 6.0,6.0") {
//break if ie6
return false;
}
if (queryloader.selectorpreload == "body") {
queryloader.spawnloader();
queryloader.getimages(queryloader.selectorpreload);
queryloader.createpreloading();
} else {
$(document).ready(function() {
queryloader.spawnloader();
queryloader.getimages(queryloader.selectorpreload);
queryloader.createpreloading();
});
}
//help ie drown if it is trying to die :)
queryloader.ietimeout = settimeout("queryloader.ieloadfix()", queryloader.ieloadfixtime);
},
ieloadfix: function() {
var ie = navigator.useragent.match(/msie (d+(?:.d+)+(?:bd*)?)/);
if (ie[0].match("msie")) {
while ((100 / queryloader.donestatus) * queryloader.donenow < 100) {
queryloader.imgcallback();
}
}
},
imgcallback: function() {
queryloader.donenow ++;
queryloader.animateloader();
},
getimages: function(selector) {
var everything = $(selector).find("*:not(script)").each(function() {
var url = "";
if ($(this).css("background-image") != "none") {
var url = $(this).css("background-image");
} else if (typeof($(this).attr("src")) != "undefined" && $(this).attr("tagname").tolowercase() == "img") {
var url = $(this).attr("src");
}
url = url.replace("url("", "");
url = url.replace("url(", "");
url = url.replace("")", "");
url = url.replace(")", "");
if (url.length > 0) {
queryloader.items.push(url);
}
});
},
createpreloading: function() {
queryloader.preloader = $("<div></div>").appendto(queryloader.selectorpreload);
$(queryloader.preloader).css({
height: "0px",
width: "0px",
overflow: "hidden"
});
var length = queryloader.items.length;
queryloader.donestatus = length;
for (var i = 0; i < length; i++) {
var imgload = $("<img></img>");
$(imgload).attr("src", queryloader.items[i]);
$(imgload).unbind("load");
$(imgload).bind("load", function() {
queryloader.imgcallback();
});
$(imgload).appendto($(queryloader.preloader));
}
},spawnloader: function() {
if (queryloader.selectorpreload == "body") {
var height = $(window).height();
var width = $(window).width();
var position = "fixed";
} else {
var height = $(queryloader.selectorpreload).outerheight();
var width = $(queryloader.selectorpreload).outerwidth();
var position = "absolute";
}
var left = $(queryloader.selectorpreload).offset()['left'];
var top = $(queryloader.selectorpreload).offset()['top'];
queryloader.overlay = $("<div></div>").appendto($(queryloader.selectorpreload));
$(queryloader.overlay).addclass("qoverlay");
$(queryloader.overlay).css({
position: position,
top: top,
left: left,
width: width + "px",
height: height + "px"
});
queryloader.loadbar = $("<div></div>").appendto($(queryloader.overlay));
$(queryloader.loadbar).addclass("qloader");
$(queryloader.loadbar).css({
position: "relative",
top: "50%",
width: "0%"
});
},
animateloader: function() {
var perc = (100 / queryloader.donestatus) * queryloader.donenow;
if (perc > 99) {
$(queryloader.loadbar).stop().animate({
width: perc + "%"
}, 500, "linear", function() {
queryloader.doneload();
});
} else {
$(queryloader.loadbar).stop().animate({
width: perc + "%"
}, 500, "linear", function() { });
}
},
doneload: function() {
//prevent ie from calling the fix
cleartimeout(queryloader.ietimeout);
//determine the height of the preloader for the effect
if (queryloader.selectorpreload == "body") {
var height = $(window).height();
} else {
var height = $(queryloader.selectorpreload).outerheight();
}
//the end animation, adjust to your likings
$(queryloader.loadbar).animate({
height: height + "px",
top: 0
}, 500, "linear", function() {
$(queryloader.overlay).fadeout(800);
$(queryloader.preloader).remove();
});
}
}