diff options
| author | Eltrac <hi@guhub.cn> | 2025-09-15 11:35:50 +0800 |
|---|---|---|
| committer | Eltrac <hi@guhub.cn> | 2025-09-15 11:35:50 +0800 |
| commit | da471403e72387a004905af11b2bc8ec5db25b62 (patch) | |
| tree | 3c8b3a148e9405a8c2e7152780bab3d8c4e59ec3 /src/lightbox.js | |
| parent | cb1f2a87bd8694b8dfdbe8e0c14fb7ee0da841f3 (diff) | |
feat: correctly close lightbox
Diffstat (limited to 'src/lightbox.js')
| -rw-r--r-- | src/lightbox.js | 13 |
1 files changed, 13 insertions, 0 deletions
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(); + } } |
