Bluewaterblog/blog/public/scripts/image-modal.js
ebby d84c5a9973
All checks were successful
Build and Deploy Astro App / build_and_deploy (push) Successful in 50s
fix script not working
2026-08-22 07:51:18 +02:00

23 lines
No EOL
783 B
JavaScript

const backdrop = document.querySelector("#image-backdrop");
const preview = document.querySelector("#image-preview");
if (backdrop instanceof HTMLElement && preview instanceof HTMLImageElement) {
document.addEventListener("click", (event) => {
if (!(event.target instanceof Element)) return;
if (!backdrop.hidden && backdrop.contains(event.target)) {
backdrop.hidden = true;
document.body.style.overflow = "";
return;
}
const image = event.target.closest("article img");
if (!(image instanceof HTMLImageElement)) return;
preview.src = image.currentSrc || image.src;
preview.alt = image.alt;
backdrop.hidden = false;
document.body.style.overflow = "hidden";
});
}