// 图片懒加载
//列:<img class="lazy" data-src="real-image.jpg" src="placeholder.jpg" alt="示例图片">
document.addEventListener("DOMContentLoaded", function() {
const lazyImages = document.querySelectorAll('.lazy');
// 检查浏览器是否支持 Intersection Observer
if ('IntersectionObserver' in window) {
const observer = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
img.src = img.dataset.src; // 替换真实图片地址
img.classList.add('loaded'); // 可选:添加加载完成标识
observer.unobserve(img); // 停止观察已加载图片
}
});
}, {
rootMargin: '0px',
threshold: 0 // 图片进入视口 10% 时触发
});
lazyImages.forEach(img => {
observer.observe(img);
});
} else {
// 兼容旧版浏览器:直接加载所有图片
lazyImages.forEach(img => {
mg.src = img.dataset.src;
});
}
});