懒加载:
懒加载也就是延迟加载。当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次,俗称占位图),只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。这就是图片懒加载。
懒加载优点:
页面加载速度快、可以减轻服务器压力、节约了流量,用户体验好
HTML
<body>
<img src="" class="imgs" data-src="img/001.jpg" alt="img">
<img src="" class="imgs" data-src="img/002.jpg" alt="img">
<img src="" class="imgs" data-src="img/003.jpg" alt="img">
<img src="" class="imgs" data-src="img/004.jpg" alt="img">
</body>
CCS
img{
display: block;
width: 500px;
height: 400px;
}
JS
<script>
var imgs=document.getElementsByClassName('imgs')
var n=0;//存储图片加载到的位置,避免每次从第一张图片开始遍历
window.onscroll=function(){
showImg();
}
function showImg(){
//获取可视区高度
var seeHeight=document.documentElement.clientHeight
//获取滚动条位置
var srclltop=document.body.scrollTop||document.documentElement.scrollTop//兼容处理
// console.log(srclltop)
for(var i=n;i<imgs.length;i++){
if(imgs[i].getAttribute('src')==''||!imgs[i].getAttribute('src')==null){//若src属性值为空
imgs[i].src=imgs[i].getAttribute('data-src')
}
n=i+1;
}
}
showImg();//第一次进入调用一次
</script>