Я хотел бы включить два переключателя кнопок, чтобы показать / скрыть два разных элемента и скрыть эти элементы при нажатии за пределами области div.Я занимался исследованиями весь день, и, хотя я нашел ответы для работы только с одним элементом, я не могу заставить его работать с двумя.Второй элемент просто не отображается, если я добавляю код, который нужно скрывать при нажатии за пределами div.Вот код:
function myFunction() {
document.getElementById("myDropdown").classList.toggle("show");
}
function myOtherFunction() {
document.getElementById("myResponsive").classList.toggle("show");
}
window.onclick = function(e) {
if (!(e.target.matches('.dropbtn') || e.target.matches('.mobile-button'))) {
var myDropdown =
document.getElementById("myDropdown");
var myResponsive =
document.getElementById("myResponsive");
if ((myDropdown.classList.contains('show')) ||
(myResponsive.classList.contains('show'))) {
myDropdown.classList.remove('show');
myResponsive.classList.remove('show');
}
}
}
.dropdown-content {
display: none;
float: left
}
.responsive-menu {
display: none;
float: left;
}
.show {
display: block;
}
<div>
<button class="dropbtn" onclick="myFunction()">menu1</button>
<div class="dropdown-content" id="myDropdown">
<a href="">item 1</a>
<a href="">item 2</a>
</div>
</div>
<div>
<button class="mobile-button" id="mobileMenu" onclick="myOtherFunction()">menu2</button>
<div class="responsive-menu" id="myResponsive">
<a href="">item1</a><br>
<a href="">item2</a>
</div>
</div>
Немного помощи и советов будет высоко ценится.Большое спасибо.