您的位置:首页 > 教程笔记 > 建站教程

js实现图片懒加载的方法代码优化版

2023-12-04 10:03:23 建站教程 191

首页页面最开始要引入jquery.js

图片懒加载代码

<script>
  // 获取页面可视区域的高度
  const visibleHeight = window.innerHeight;
  // 获取页面上所有图片的元素
  const imgs = document.querySelectorAll("img");
  // 为每个图片元素添加 data-src 属性
  for (const img of imgs) {
    img.setAttribute("data-src", img.src);
    img.src = "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
  }

  // 设置阈值和延迟
  const threshold = 100;

  // 节流函数
  let throttleTimeout;
  function throttleScroll() {
    if (throttleTimeout) {
      return;
    }
    throttleTimeout = setTimeout(() => {
      throttleTimeout = null;
      lazyLoad();
    }, 200);
  }

  // 监听滚动事件
  window.addEventListener("scroll", throttleScroll);

  // 懒加载函数
  function lazyLoad() {
    // 遍历所有图片元素
    for (const img of imgs) {
      // 获取图片元素的顶部和底部位置
      const rect = img.getBoundingClientRect();
      const top = rect.top;
      const bottom = rect.bottom;

      // 如果图片元素的顶部或底部位置距离可视区域顶部距离小于阈值
      if ((top <= visibleHeight && bottom >= 0) || (bottom >= 0 && top <= visibleHeight + threshold)) {
        img.src = img.getAttribute("data-src");
      }
    }
  }

  // 初始加载一次
  lazyLoad();
</script>

相关推荐

  • js实现图片懒加载的方法代码

    js实现图片懒加载的方法代码

    简单的js实现图片列表懒加载的方法和代码。必须在懒加载js前面加上jqury才可以。

    综合教程 2023-12-01 13:29:47 255
  • 图片懒加载有哪些方法

    图片懒加载有哪些方法

    图片懒加载是一种优化网页性能的技术,它可以延迟加载页面上的图片,只有当图片即将出现在用户的视口中时才加载它们。这样可以减少页面的加载时间,提高用户体验和网站的整体性能。,我将介绍几种常用的图片

    前端笔记 2021-02-13 03:50:33 64
  • 图片懒加载解决了什么

    图片懒加载解决了什么

    图片懒加载是一种优化技术,它允许在用户滚动到图片位置之前不加载图片,而是在需要时才加载和呈现图片。这种优化技术解决了许多与网页性能和用户体验相关的问题。1、减少初始加载时间:在网页中,图片通常是较大的

    前端笔记 2020-08-30 10:08:06 110