From da471403e72387a004905af11b2bc8ec5db25b62 Mon Sep 17 00:00:00 2001 From: Eltrac Date: Mon, 15 Sep 2025 11:35:50 +0800 Subject: feat: correctly close lightbox --- src/lightbox.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/lightbox.js') diff --git a/src/lightbox.js b/src/lightbox.js index 579f14b..5523fc7 100644 --- a/src/lightbox.js +++ b/src/lightbox.js @@ -55,9 +55,13 @@ export default class LightBox { */ openLightBox(image) { + image.style.visibility = 'hidden'; const shadow = this.shadows[image.id] || new Shadow(image); if (!this.shadows[image.id]) { this.shadows[image.id] = shadow; + shadow.element.addEventListener('click', () => { + if (shadow.isOpen) this.closeLightBox(image); + }); } shadow.open(); @@ -65,4 +69,13 @@ export default class LightBox { this.overlay.add(shadow); this.overlay.show(); } + + closeLightBox(image) { + image.style.visibility = 'visible'; + const shadow = this.shadows[image.id]; + if (!shadow) return; + + shadow.close(); + this.overlay.hide(); + } } -- cgit v1.2.3