一、JS 实现图片懒加载
<img data-src="./images/1.jpg"/>
方法一
function loadImg() {
const imgaes = document.querySelectorAll("img");
imgaes.forEach(image => {
const imageTop = image.getBoundingClientRect().top;
console.log();
if (imageTop < window.innerHeight && image.src == "") {
const data_src = image.getAttribute("data-src");
image.setAttribute("src", data_src);
}
});
}
window.addEventListener("scroll", e => {
loadImg();
});
loadImg();
方法二
const images = document.querySelectorAll("img");
function callback(entries) {
console.log(entries);
entries.forEach(entry => {
if (entry.isIntersecting) {
const image = entry.target;
const data_src = image.getAttribute("data-src");
image.setAttribute("src", data_src);
observer.unobserve(image);
console.log("触发");
}
});
}
const observer = new IntersectionObserver(callback);
images.forEach(image => {
observer.observe(image);
});