summaryrefslogtreecommitdiff
path: root/src/lightbox.js
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-09-15 11:35:50 +0800
committerEltrac <hi@guhub.cn>2025-09-15 11:35:50 +0800
commitda471403e72387a004905af11b2bc8ec5db25b62 (patch)
tree3c8b3a148e9405a8c2e7152780bab3d8c4e59ec3 /src/lightbox.js
parentcb1f2a87bd8694b8dfdbe8e0c14fb7ee0da841f3 (diff)
feat: correctly close lightbox
Diffstat (limited to 'src/lightbox.js')
-rw-r--r--src/lightbox.js13
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();
+ }
}