LOGO
外贸网站建设,让业务全球可达
0%
新闻中心 网络推广 网站建设 服务器相关 优化推广 首页>新闻>网站建设

网页图片太多,用懒加载的方式解决。

时间:2026-04-17   访问量:0

给一个客户做的网站,详情页中七八十张图片。所以需要处理加载过慢的问题。现在使用懒加载的方式来处理。

  <div class="pc-info d-none d-md-block">
          {content:content}
          {hmcms:pics num=200 id={content:id} field="ext_pc" }
           <img src="/static/images/loading.png" data-src="[pics:src]" class="w-100" alt="[pics:title]">
          {/hmcms:pics}
      </div>
      上面是PC端的代码,加载的图片。
      
      下面是wap端的代码,加载的图片。
      <div class="wap-info d-block d-md-none">
          {content:ext_wapcontent}
          {hmcms:pics num=200 id={content:id} field="ext_wap" }
            <img src="/static/images/loading.png" data-src="[pics:src]" class="w-100" alt="[pics:title]">
          {/hmcms:pics}
      </div>


然后我们使用以下的JS来实现。

1:找出容器里面的图片。并添加占位图片。

2:在视窗范围内,提前 200PX进行加载当前的图片。

document.addEventListener("DOMContentLoaded", function() {
  // 找出 pc-info 和 wap-info 容器里的所有图片
  const allImages = document.querySelectorAll(".pc-info img, .wap-info img");

  allImages.forEach(img => {
    // 如果没有 data-src(编辑器插入的图片),则改成占位图
    if (!img.dataset.src) {
      img.dataset.src = img.src;
      img.src = "/static/images/loading.png";
      img.classList.add("lazy");
    }
  });

  // 懒加载逻辑:无论是编辑器图片还是图集图片,都要监听
  const observer = new IntersectionObserver(entries => {
    entries.forEach(entry => {
      if (entry.isIntersecting) {
        const img = entry.target;
        img.src = img.dataset.src;
        img.classList.add("fade-in");
        observer.unobserve(img);
      }
    });
  }, { rootMargin: "200px" });

  allImages.forEach(img => observer.observe(img));
});


从代码中可以看出来,一开始加载的是:loading.png,只有当滚动浏览器到当前窗口位置的时候,图片才能替换成:data-src中的图片

网页图片太多,用懒加载的方式解决。

服务咨询
1对1咨询,专业客服为您解疑答惑
联系销售
15899750475
在线咨询
联系在线客服,为您解答所有的疑问
ARE YOU INTERESTED IN ?
感兴趣吗?

有关我们服务的更多信息,请联系项目经理

15899750475 杨先生