 
                         
                         //获取全部带有data-src的img
var limg = document.querySelectorAll("img[data-src]")
// Array.prototype.forEach.call()是一种快速的方法访问forEach,并将空数组的this换成想要遍历的list
Array.prototype.forEach.call(limg, function(item, index) {
    var rect
    //假如data-src为空跳出
    if (item.getAttribute("data-src") === "")
        return
    //getBoundingClientRect用于获取某个元素相对于视窗的位置集合。集合中有top, right, bottom, left等属性。
    rect = item.getBoundingClientRect()
    // 图片一进入可视区,动态加载
    if (rect.bottom >= 0 && rect.top < viewHeight) {
        (function() {
            var img = new Image()
            img.src = item.getAttribute("data-src")
            item.src = img.src
            //给图片添加过渡效果,让图片显示
            var j = 0
            setInterval(function() {
                j += 0.2
                if (j <= 1) {
                    item.style.opacity = j
                    return
                }
            }, 100)
            //去除data-src
            item.removeAttribute('data-src')
        })()
    }
})                                      
                        window.onscroll = function () {
   Limg()
}
window.onload = function () {
   var img = document.querySelectorAll("img[data-src]")
   for (var i = 0; i < img.length; i++) {
       img[i].style.opacity = "0"
   }
   Limg()
}
function Limg() {
   var viewHeight = document.documentElement.clientHeight
   var t = document.documentElement.scrollTop || document.body.scrollTop;
   var limg = document.querySelectorAll("img[data-src]")
   Array.prototype.forEach.call(limg, function (item, index) {
       var rect
       if (item.getAttribute("data-src") === "")
           return
       rect = item.getBoundingClientRect()
       if (rect.bottom >= 0 && rect.top < viewHeight) {
           (function () {
               var img = new Image()
               img.src = item.getAttribute("data-src")
               item.src = img.src
               var j = 0
               setInterval(function () {
                   j += 0.2
                   if (j <= 1) {
                       item.style.opacity = j
                       return
                   }
               }, 100)
               item.removeAttribute('data-src')
           })()
       }
   })
}