open(popup) {
// а тут уже код с открытием, добавить класс
}
close(popup) {
// а тут уже код с закрытием, удалить класс
}
toggle(popup){
// тут проверка состояния указанного окна, открыто оно или закрыто и вызов соответствующих методов
}
<button data-popup="popup1">Открыть 1</button>
<button data-popup="popup2">Открыть 2</button>
<div id="popup1">
<button data-popup="popup1">Закрыть</button>
</div>
<div id="popup2">
<button data-popup="popup2">Закрыть</button>
</div>
const popupButtons = document.querySelectorAll('[data-popup]');
const popups = new Popup();
popupButtons.forEach(button => {
button.addEventListener('click', function(){
const popup = document.getElementById(this.dataset.popup);
popups.toggle(popup);
})
})
window.onunhandledrejection = function(message, source, lineno, colno, error) {
console.log('onunhandledrejection handler logging error', message);
}
Нужна ли она? Да, это делает код чище и более читабельнее
Обязательна ли она? Нет, кроме определённых моментов, от чего нельзя например в тег p вставить div. Даже простую таблицу можно верстать через div