@HerobrinASKtheWorld

Как вывести блок при нажатии по ссылке?

Добрый день или вечер сообщество!

Как вывести скрытый блок после нажатия по ссылке и чтобы он исчезал после нажатия по другой соседней ссылке
Товарищи взываю к помощи!

<div class="profile-links col-lg-12 d-flex justify-content-center">
						<nav>
							<a href="#" onclick="openbox('box'); return false">Посадочные страницы</a>
							<a href="#">Дизайн для лендингов</a>
							<a href="#">Разработанные логотипы</a>
							<a href="#">Реклама и полиграфия</a>
						</nav>
					</div>

					<div class="landing-first col-lg-12 d-flex justify-content-around">

						<div class="blocks2 d-flex" id="box">

						<div class="first">				
						</div>

						<div class="first">	
						</div>

						<div class="first">	
						</div>

						</div>

					</div>


.first {
	width: 300px;
	height: 450px;
	background-color: #121212;
}

.blocks2 .first{
	margin: 0 20px 0 20px;
	display: none;
}


function openbox(id){
    display = document.getElementById(id).style.display;
    
    if(display=='none'){
       document.getElementById(id).style.display='block';
    }else{
       document.getElementById(id).style.display='none';
    }
}
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
Дать всем всплывающим блокам один класс и прежде чем открыть новый - закрыть все возможные, если они есть.
Можно в переменную, которая изначально false, добавлять ссылку на открытый объект и в функции openbox проверять...

var curr_open = false;

function openbox(id){
   //проверим, не надо ли закрыть что-то
   if (curr_open!==false) curr_open.style.display='none';

    var el =  document.getElementById(id);
    curr_open = el;
    display =el.style.display;


    el.style.display = (display=='none') ? 'block' : 'none';
 
}
Ответ написан
Ваш ответ на вопрос

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

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