Задать вопрос
@SiO4
Начинающий разработчик

Как сделать, чтобы несколько кнопок вызывали одно и то же модальное окно?

Доброго дня. Вопрос простой, есть две кнопки, вычитал, что нужно захватывать с помощью quarySelectorAll и обрабатывать с помощью forEach. Но что-то у меня не работает, видимо что-то упустил?
<section id="1">
.....
                <button class="popup-open">Кнопка-1</button>
    ....
        </section>
....
    <section id="2">
.....
                <button class="popup-open">Кнопка-2</button>
    ....
        </section>


let popup = document.querySelector(".popup-wrapper");
let popupForm = document.querySelector(".popup-form");
let popupBtn = document.querySelectorAll('.popup-open');
let popupClose = document.querySelector(".close-btn");

popupBtn.forEach(function(mix)
mix.addEventListener("click", (e) => {
  e.preventDefault;
  showPopup();
});


function showPopup() {
  popup.classList.add("active");
  popup.style.display = "block";
  bodyScroll();
}
  • Вопрос задан
  • 142 просмотра
Подписаться 1 Простой 6 комментариев
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Первое. Вы разве не видите предупреждение об ошибке:

6361fb7c5231d970320998.png

Нажмите, вам покажут где она

6361fb8d26a2d553618675.png

Как видно, не хватает закрывающей скобки. Поставьте ее.

Второе.
Чтобы выбрать все кнопки, нужно использовать querySelectorAll, а у вас выборка прозводится методом querySelector.

6361fc36028bb686276900.png

Тоже исправьте.
И все заработает
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы