function ready() {
function modalPopUp() {
let overlay = document.getElementById("overlay");
let popupButton = document.querySelectorAll(".popup-btn");
for (let i = 0; i < popupButton.length; i++) {
popupButton[i].addEventListener("click", () => {
let attr = popupButton[i].getAttribute("data-popup");
let popup = document.querySelector(`#${attr}`);
popup.classList.toggle("active");
overlay.classList.toggle("overlay_active");
});
}
let popup = document.querySelectorAll(".popup__close");
for (let i = 0; i < popup.length; i++) {
popup[i].addEventListener("click", () => {
popup[i].parentNode.classList.remove("active");
overlay.classList.toggle("overlay_active");
});
}
}
modalPopUp();
}
Написал скрипт для активации модальных окон, сразу к вопросам.
1. Строка 11 лучше сделать так или стоит получить окна вне цикла и сохранить в массив, а уже внутри работать с ними?
2. Строка 17-23 тут просто не знаю других решений, может есть лучше?
3. Вообще что по производительности у такой функции, можно ли сделать быстрее?
Я знаю что на сайт маленькая функция сильно наверное и не влияет, но если у меня 20 кнопок, а там еще слайдеры, галереи и прочее, то уже лаги.
Спасибо всем кто ответит.