Насколько я вижу, ваши модалы и оверлеи являются братьями и сестрами, поэтому вы могли бы написать простую функцию, такую как
function applyClassToOverlay(modalId, class) {
var modal = document.getElementById(modalId);
var modalOverlay = modal.nextElementSibling;
modalOverlay.classList.add(class);
}
И удаление в пути
function removeClassFromOverlay(modalId, class) {
var modal = document.getElementById(modalId);
var modalOverlay = modal.nextElementSibling;
modalOverlay.classList.remove(class);
}
Другой способ, если вам нужно настроить модал с определенным id
. Вы можете просто написать правило CSS
#modal1 + .modal-overlay {
// here goes the styling
}
И еще один способ, который я могу предложить из скриншота. Если мы возьмем идею о том, что наложение модалов всегда 1
z-index позади необходимого модального, мы также можем получить доступ к наложению таким образом
function applyClassToOverlay(modalId, class) {
var modal = document.getElementById(modalId);
var modalZIndex - modal.style.zIndex;
var modalOverlaysArr = [...document.qerySelectorAll('.modal-overlay')];
var modalOverlay = modalOverlaysArr.find(overlay => overlay.style.zIndex === modalZIndex - 1);
modalOverlay.classList.add(class);
}