Есть функция для модальных окон, но он работает только для последнего вызова. В чём проблема?
function popUp(elem, open, close) {
body = document.querySelector('body');
close = document.querySelector(close);
open = document.querySelector(open);
elem_obj = document.querySelector(elem);
if (close != '') {
close.addEventListener('click', function() {
fadeOut(elem);
body.style.overflow = 'visible';
}, false);
}
if (open != '') {
open.addEventListener('click', function() {
fadeIn(elem);
body.style.overflow = 'hidden';
}, false);
}
body.addEventListener('click', function(e) {
display = window.getComputedStyle(elem_obj).display;
console.log(elem_obj); // В КОНСОЛИ ВОЗВРАЩЕТЬСЯ ТОЛЬКО ПОСЛЕДНИЙ ВЫЗВАНЫЙ ЭЛЕМЕНТ, ДВА РАЗА
if (!e.target.closest(elem + ' > *') && e.target != open && display != 'none') {
fadeOut(elem);
body.style.overflow = 'visible';
}
}, false);
}
popUp('.call-form__wrapper', '.main-section__slogan__button', '.call-form__close');
popUp('.promo-popup__wrapper', '.promo-info', '.promo-popup__close');