思涯谷

  • 首页
  • 探索
  • 标签
  • 关于
思涯谷 ©2025
京ICP备2022030312号GitHub User's stars

IntersectionObserver API示例

这段JavaScript代码监听页面懒加载图片的显示,当图片进入视口时自动加载并标记为加载完成。

...
标签:JavaScript
点赞(0)
返回顶部

相关内容

  • yarn笔记
  • nvm、npm、nrm、pnpm的安装
  • 单页应用(SPA)和多页应用(MPA)
  • 顺序哈希表的原理
  • Taro和JS笔记系列
2024-08-19

留言

document.addEventListener('DOMContentLoaded', () => {
let lazyImages = document.querySelectorAll('.lazy-load');

let lazyLoadCallback = (entries, observer) => {
  entries.forEach(entry => {
    if (entry.isIntersecting) {
      let img = entry.target;
      img.src = img.dataset.src;
      img.onload = () => {
        img.classList.add('loaded');
      };
      observer.unobserve(img);
    }
  });
};

let observer = new IntersectionObserver(lazyLoadCallback, {
  root: null,
  rootMargin: '0px',
  threshold: 0.1
});

lazyImages.forEach(img => {
  observer.observe(img);
});
});