const observer = new IntersectionObserver(changes => {
for (change of changes) {
const {target} = change
target.src = target.dataset.src
target.classList.remove('hidden')
observer.unobserve(target)
}
}
})
Array.from(document.querySelectorAll('.hidden')).forEach(img =>
observer.observe(img)
)