
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
#box {
width: 700px;
border: 1px solid #000;
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
margin: 0 auto;
}
#box img {
width: 300px;
height: 420px;
margin-top: 20px;
}
</style>
</head>
<body>
<div id="box">
<img src="./images/loading.gif" data-src="./images/m1.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m2.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m3.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m4.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m5.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m6.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m7.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m8.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m9.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m10.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m11.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m12.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m13.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m14.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m15.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m16.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m17.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m18.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m19.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m20.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m21.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m22.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m23.jpg" alt="">
<img src="./images/loading.gif" data-src="./images/m24.jpg" alt="">
</div>
<script>
var oImgs = document.querySelectorAll("#box img");
function getEleHeigtToDoc(ele) {
var e = ele;
var p = {
l: 0,
t: 0
};
while (e) {
if (e === ele) {
p.l += e.offsetLeft;
p.t += e.offsetTop;
} else {
p.l += e.clientLeft + e.offsetLeft;
p.t += e.clientTop + e.offsetTop;
}
e = e.offsetParent;
}
return p;
}
window.onload = window.onscroll = function () {
oImgs.forEach(function (item, index) {
var toDoc = getEleHeigtToDoc(item);
var allHeight = window.pageYOffset + document.documentElement.clientHeight;
if (toDoc.t <= allHeight) {
item.src = item.dataset.src;
}
});
}
</script>
</body>
</html>