懒加载的概念:先只加载可视区的内容,当用户向下滚动时,再继续加载后面的内容。
懒加载的好处:
1)减少加载时的线程数据,可以使可视区内的图片快速加载
2)减少了同一时间发送到服务器的请求数量,减轻服务器压力
JS代码展示
<script>
// 获取图片
var oImg = document.getElementsByTagName('img');
fn(); // 先让第一张图展现
window.onscroll = function(){
fn(); // 滚轮滚动事件
};
function fn(){
//判断图片是否在可视区内
for(var i=0; i<oImg.length; i++){
var oImgTo = oImg[i].offsetTop;
//元素距离页面顶端的距离
var clientH = document.documentElement.clientHeight;
//可视区的高度
var scrollT = document.documentElement.scrollTop || document.body.scrollTop;
//可视区顶部距离页面顶部的距离
if(clientH + scrollT >= oImgTo){
oImg[i].src = oImg[i].getAttribute('_src');
}
}
}
//getAttribute() 方法根据名称取得属性值。
</script>
html和CSS样式代码
<style>
*{ margin:0; padding: 0; list-style: none; }
#list img{ width: 500px; height: 500px;}
</style>
<body>
<ul id="list">
<li><img _src="images/1.jpg" alt="pic"/></li>
<li><img _src="images/2.jpg" alt="pic"/></li>
<li><img _src="images/3.jpg" alt="pic"/></li>
<li><img _src="images/4.jpg" alt="pic"/></li>
<li><img _src="images/5.jpg" alt="pic"/></li>
<li><img _src="images/6.jpg" alt="pic"/></li>
<li><img _src="images/7.jpg" alt="pic"/></li>
<li><img _src="images/8.jpg" alt="pic"/></li>
</ul>
<body>