Задать вопрос
valgerofficial
@valgerofficial

Открытие/Закрытие блоков по очереди?

Доброго времени суток друзья!

Имеется 3 кнопки:
60bede2d85823749840899.jpeg

Каждая из этих кнопок открывает отдельную модалку. Вот вопрос, как при клике на другую кнопку, закрывать предыдущию модалку? Допустим открыта модалка #1, при клике на кнопку #2 или #3, закрывать модалку #1 или же ту что открыта #1 #2 #3 и т.д. Спасибо за ответы.
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
sslion
@sslion
По идее при открытии модалки те не можешь нажать на другую кнопку - на то она и модалка...
Ответ написан
@undying234
Я может фигню скажу, но у тебя же все модалки находяться в display: none.
Поэтому ты можешь при клике на кнопку принудительно задавать всем display:none, а нужной модалке display: block.
Ответ написан
@Rerurk
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<button id="bt1">кнопка 1</button>
<button id="bt2">кнопка 2</button>
<button id="bt3">кнопка 3</button>
<div id="div1" style="width: 100px;height: 100px ;background: red" hidden="hidden">div1</div>
<div id="div2" style="width: 100px;height: 100px ;background: green" hidden="hidden">div2</div>
<div id="div3" style="width: 100px;height: 100px ;background: blue" hidden="hidden">div2</div>

<script>

    function openElement(el) {
   
        if(lastOpenEl){
            lastOpenEl.hidden=true;

        }
        lastOpenEl=el
        el.hidden=false;
    }

    let lastOpenEl;

    let bt1=document.getElementById('bt1')
    let bt2=document.getElementById('bt2')
    let bt3=document.getElementById('bt3')

    let div1=document.getElementById('div1')
    let div2=document.getElementById('div2')
    let div3=document.getElementById('div3')

    bt1.onmousedown=()=>openElement(div1)
    bt2.onmousedown=()=>openElement(div2)
    bt3.onmousedown=()=>openElement(div3)

</script>
</body>
</html>
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
23 дек. 2024, в 11:07
10000 руб./за проект
23 дек. 2024, в 10:43
5000 руб./за проект
23 дек. 2024, в 10:32
2000 руб./за проект