JavaScript实现图片懒加载(超简单!!)

懒加载的概念:先只加载可视区的内容,当用户向下滚动时,再继续加载后面的内容。

懒加载的好处:
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>

你可能感兴趣的:(JavaScript)