IntersectionObserver实现图片懒加载的示例

API:

https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API

直接上源码:

rush:xhtml;">
  • <script>
      var observer = new IntersectionObserver(function(changes) {
        console.log(changes);
        changes.forEach(function(element,index) {
          // statements
          if (element.intersectionRatio > 0 && element.intersectionRatio <= 1) {
            element.target.src = element.target.dataset.src;
          }
        });
      });
    
    
      function ad<a href="https://www.jb51.cc/tag/dob/" target="_blank" class="keywords">dob</a>server() {
        var listItems = document.querySelectorAll('.list-item-img');
        listItems.forEach(function(item) {
          observer.observe(item);
        });
      }
    
      ad<a href="https://www.jb51.cc/tag/dob/" target="_blank" class="keywords">dob</a>server();
    </script>

    运行代码后发现,当滚动滚动轴时,只有当

  • 区域完全显示出来后才会触发相应的下载图片的http请求。

    兼容浏览器:

    desktop:

    Mobile:

    以上这篇IntersectionObserver实现图片懒加载的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

  • 相关文章

    前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
    前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
    前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
    前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
    前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
    前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...