原生JS实现图片懒加载

作者: puxiaotaoc | 来源:发表于2018-09-14 11:38 被阅读5次

(1) 图片距离文档顶部的高度: img.offsetTop
(2) 返回窗口文档显示区的高度: window.innerHeight
(3) 返回文档的可见高度:document.documentElement.clientHeight
(3) 滚动条滚动的高度: document.body.scrollTop || document.documentElement.scrollTop

加载图片的判断条件:
图片距离顶部的距离 < 浏览器滚动条滚动的高度 + 浏览器窗口的高度

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>JS懒加载</title>
  <style>
    img{
      width: 1002px;
      height: 300px;
      display: block;
    }
  </style>
</head>

<body>
  <div class="imgLazyload">
    <img src="" data-src="photo_01.jpeg">
    <img src="" data-src="photo_02.jpeg">
    <img src="" data-src="photo_03.jpeg">
    <img src="" data-src="photo_04.jpeg">
    <img src="" data-src="photo_01.jpeg">
    <img src="" data-src="photo_02.jpeg">
  </div>

    <script type="text/javascript">
      var imgList = document.getElementsByTagName('img');
      var n = 0;
      window.onscroll = function() {
        var seeHeight = document.documentElement.clientHeight;
        var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
        for (var i = n; i < imgList.length; i++) {
          if (imgList[i].offsetTop < seeHeight + scrollTop) {
            if (imgList[i].getAttribute('src') == '') {
              imgList[i].src = imgList[i].getAttribute('data-src');
            }
            n = i + 1;
            console.log('n=' + n);
          }
        }
      }
    </script>
</body>

</html>

相关文章

  • 图片懒加载

    前端实现图片懒加载(lazyload)的两种方式 原生JS实现最简单的图片懒加载 30行Javascript代码实...

  • 原生JS实现图片懒加载

    (1) 图片距离文档顶部的高度: img.offsetTop(2) 返回窗口文档显示区的高度: window.in...

  • 原生JS实现图片懒加载

    最近接的项目终于接近尾声,这段时间一直没有造轮子,在实现设计图还原的途中,发现还是有一些技术需要掌握,难者不会,会...

  • 原生 JS 实现图片懒加载

    1、什么是懒加载? 懒加载就是延迟加载的意思,比如我们加载一个页面,这个页面很长很长,长到我们的浏览器可视区域装不...

  • 原生js实现图片懒加载

    用多了懒加载插件,尝试一下自己撸一个,顺便了解其中原理和实现方法吧。 什么是懒加载 懒加载其实就是延迟加载,是一种...

  • 原生JS实现图片懒加载(lazyload)

    前言 图片懒加载也是比较常见的一种性能优化的方法,最近在用vue做一个新闻列表的客户端时也用到了,这里就简单介绍下...

  • 原生js 图片懒加载

  • 原生js 图片懒加载

    1、使用方法 1、引入下面js2、在img添加 class="lazyloadimg" 类名,src 里面是默认图...

  • JS 原生图片懒加载

  • js实现图片懒加载

    原生js实现图片懒加载需要的条件1、scroll事件2、元素是否处于可视区域 当scroll事件触发的时候,根据计...

网友评论

    本文标题:原生JS实现图片懒加载

    本文链接:https://www.haomeiwen.com/subject/winngftx.html