IntersectionObserver API示例
这段JavaScript代码监听页面懒加载图片的显示,当图片进入视口时自动加载并标记为加载完成。
标签:JavaScript
这段JavaScript代码监听页面懒加载图片的显示,当图片进入视口时自动加载并标记为加载完成。
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);
});
});