全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

IntersectionObserver实现图片懒加载的示例

API:

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

直接上源码:

<!DOCTYPE html>
<html>
  <header>
    <style>
      .list-item{
        height: 400px; 
        margin: 5px; 
        background-color: lightblue; 
        list-style: none;
      }
    </style>
  </header>
  <body>
    <li class="list-item"><img class="list-item-img" alt="loading" data-src='./images/icon1.png'></li>
    <li class="list-item"><img class="list-item-img" alt="loading" data-src='./images/icon2.png'></li>
    <li class="list-item"><img class="list-item-img" alt="loading" data-src='./images/icon3.png'></li>
    <li class="list-item"><img class="list-item-img" alt="loading" data-src='./images/icon4.png'></li>
    <li class="list-item"><img class="list-item-img" alt="loading" data-src='./images/icon5.png'></li>
    <li class="list-item"><img class="list-item-img" alt="loading" data-src='./images/icon6.png'></li>

    <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 addObserver() {
        var listItems = document.querySelectorAll('.list-item-img');
        listItems.forEach(function(item) {
          observer.observe(item);
        });
      }

      addObserver();
    </script>
  </body>
</html>

运行代码后发现,当滚动滚动轴时,只有当<li>区域完全显示出来后才会触发相应的下载图片的http请求。

兼容浏览器:

desktop:

Mobile:

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


# 实现图片懒加载  # 面试判断元素是否在可视区域中IntersectionObserver详解  # 可视化埋点平台元素曝光采集intersectionObserver思路实践  # 交叉观察器 IntersectionObserver用法详解  # IntersectionObserver判断是否在可视区域详解  # 谈谈IntersectionObserver懒加载的具体使用  # 一文详解前端进阶之IntersectionObserver  # 给大家  # 才会  # 希望能  # 这篇  # 小编  # 大家多多  # 下载图片  # 加载  # html  # list  # header  # gt  # xhtml  # brush  # DOCTYPE  # lt  # item  # body  # lightblue  # img 


相关文章: 韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  如何实现建站之星域名转发设置?  手机网站制作与建设方案,手机网站如何建设?  非常酷的网站设计制作软件,酷培ai教育官方网站?  网站app免费制作软件,能免费看各大网站视频的手机app?  教程网站设计制作软件,怎么创建自己的一个网站?  如何通过山东自助建站平台快速注册域名?  如何零基础在云服务器搭建WordPress站点?  建站168自助建站系统:快速模板定制与SEO优化指南  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何在搬瓦工VPS快速搭建网站?  宝塔Windows建站如何避免显示默认IIS页面?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  javascript中对象的定义、使用以及对象和原型链操作小结  建站OpenVZ教程与优化策略:配置指南与性能提升  北京企业网站设计制作公司,北京铁路集团官方网站?  如何生成腾讯云建站专用兑换码?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  购物网站制作公司有哪些,哪个购物网站比较好?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  如何快速使用云服务器搭建个人网站?  Python lxml的etree和ElementTree有什么区别  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  小程序网站制作需要准备什么资料,如何制作小程序?  如何用低价快速搭建高质量网站?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  如何在宝塔面板中创建新站点?  建站之星代理如何优化在线客服效率?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  公司网站制作价格怎么算,公司办个官网需要多少钱?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  电商网站制作公司有哪些,1688网是什么意思?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  岳西云建站教程与模板下载_一站式快速建站系统操作指南  如何正确下载安装西数主机建站助手?  浅析上传头像示例及其注意事项  网站制作大概多少钱一个,做一个平台网站大概多少钱?  南宁网站建设制作定制,南宁网站建设可以定制吗?  建站之星后台管理如何实现高效配置?  清除minerd进程的简单方法  如何在IIS中配置站点IP、端口及主机头?  jQuery 常见小例汇总 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。