-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
38 lines (29 loc) · 1.07 KB
/
script.js
File metadata and controls
38 lines (29 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
'use strict';
function modal({trigerSelector, closeSelector, overlaySelector, modalSelector}) {
const btnShowModals = document.querySelectorAll(trigerSelector),
btnCloseModal = document.querySelector(closeSelector),
overlay = document.querySelector(overlaySelector),
modal = document.querySelector(modalSelector);
function showModal() {
modal.classList.remove('hidden');
overlay.classList.remove('hidden');
};
function closeModal() {
modal.classList.add('hidden');
overlay.classList.add('hidden');
};
btnShowModals.forEach(item => {
item.addEventListener('click',showModal)
});
btnCloseModal.addEventListener('click', closeModal);
overlay.addEventListener('click', closeModal)
document.addEventListener('keydown', (e) => {
if(!modal.classList.contains('hidden') && e.key === 'Escape') closeModal();
});
}
modal ({
trigerSelector:'.show-modal-window',
overlaySelector: '.overlay',
closeSelector: '.close-modal-window',
modalSelector: '.modal-window'
})