<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<div class="container">
<div class="row block" id="img-list">
<div class="col-md-3">
<img src="./img/banner1%20-%20副本%20(2).png" class="img-thumbnail">
</div>
<div class="col-md-3">
<img src="./img/banner3.png" class="img-thumbnail">
</div>
<div class="col-md-3">
<img src="./img/banner2.jpg" class="img-thumbnail">
</div>
<div class="col-md-3">
<img src="./img/img1.png" class="img-thumbnail">
</div>
<div class="col-md-3">
<img src="./img/img2.png" class="img-thumbnail">
</div>
<div class="col-md-3">
<img src="./img/img4.png" class="img-thumbnail">
</div>
<div class="col-md-3">
<img src="./img/img2.png" class="img-thumbnail">
</div>
<div class="col-md-3">
<img src="./img/banner2.jpeg" class="img-thumbnail">
</div>
</div>
</div>
</html>
<script src="js/jquery-3.4.1.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/ImgLoading.js" type="text/javascript" charset="utf-8"></script>
<script>
$("#img-list").ImgLoading({
errorimg: "./img/error.jpg",
loadimg: "./img/loading.jpg",
timeout: 800
});
</script>
ImgLoading.js代码如下:(需要先引入jquery)
;(function ($) {
$.fn.extend({
ImgLoading: function (options) {
var defaults = {
errorimg: "http://www.oyly.net/Images/default/Journey/journeydetail.png",
loadimg: "http://www1.ytedu.cn/cnet/dynamic/presentation/net_23/images/loading.gif",
Node: $(this).find("img"),
timeout: 1000
};
var options = $.extend(defaults, options);
var Browser = new Object();
var plus = {
BrowserVerify:function(){
Browser.userAgent = window.navigator.userAgent.toLowerCase();
Browser.ie = /msie/.test(Browser.userAgent);
Browser.Moz = /gecko/.test(Browser.userAgent);
},
EachImg: function () {
defaults.Node.each(function (i) {
var img = defaults.Node.eq(i);
plus.LoadEnd(Browser, img.attr("imgurl"), i, plus.LoadImg);
})
},
LoadState:function(){
defaults.Node.each(function (i) {
var img = defaults.Node.eq(i);
var url = img.attr("src");
img.attr("imgurl", url);
img.attr("src",defaults.loadimg);
})
},
LoadEnd: function (Browser, url, imgindex, callback) {
var val = url;
var img = new Image();
if (Browser.ie) {
img.onreadystatechange = function () {
if (img.readyState == "complete" || img.readyState == "loaded") {
callback(img, imgindex);
}
}
} else if (Browser.Moz) {
img.onload = function () {
if (img.complete == true) {
callback(img, imgindex);
}
}
}
img.onerror = function () { img.src = defaults.errorimg }
img.src = val;
},
LoadImg: function (obj, imgindex) {
setTimeout(function () {
defaults.Node.eq(imgindex).attr("src", obj.src);
}, defaults.timeout);
}
}
plus.LoadState();
plus.BrowserVerify();
plus.EachImg();
}
});
})(jQuery);
效果图:(一定要先引入jq)
image.png
网友评论