Skip to content
JavaScript

图片懒加载

使用 IntersectionObserver 实现图片懒加载。

#image#lazy-load#IntersectionObserver

Code

javascript
function lazyLoad(selector = "img[data-src]") {
  const observer = new IntersectionObserver((entries, obs) => {
    entries.forEach(entry => {
      if (entry.isIntersecting) {
        const img = entry.target;
        img.src = img.dataset.src;
        img.removeAttribute("data-src");
        obs.unobserve(img);
      }
    });
  });
  document.querySelectorAll(selector).forEach(img => observer.observe(img));
}