Я хочу добавить класс на ul, который находится внутри моего элемента li в nav.Моя проблема в том, что я хочу показать список при наведении курсора, а затем щелкнуть что-нибудь по нему, но когда я нажимаю мышью, вход в это меню показывает, и когда я хочу перейти вниз и щелкнуть что-то, меню исчезает.Я хочу сделать это в ванильном JavaScript.
document.addEventListener('DOMContentLoaded', function () {
var dropdownItem = document.querySelector('.dropdown-item');
var dropdown = document.querySelector('.dropdown');
dropdownItem.addEventListener('mouseenter', function (e) {
dropdown.classList.add('dropdown-show');
});
dropdownItem.addEventListener('mouseleave', function () {
dropdown.classList.remove('dropdown-show');
})
})
.menu {
list-style: none;
display: flex;
width: 30%;
justify-content: space-between;
align-items: center;
}
.menu li {
position: relative;
}
.menu li a {
color: #999;
text-decoration: none;
}
.menu .dropdown-item {
position: relative;
}
.menu .dropdown-item .dropdown {
position: absolute;
list-style: none;
top: 5px;
padding-top: 40px;
left: -30px;
visibility: hidden;
opacity: 0;
transition: 0.3s;
}
.menu .dropdown-item .dropdown .triangle {
border: 10px solid transparent;
border-bottom-color: #000;
width: 0;
top: 20px;
left: 50%;
transform: translateX(-50%);
position: absolute;
}
.menu .dropdown-item .dropdown.dropdown-show {
opacity: 1;
visibility: visible;
}
.menu .dropdown-item .dropdown li {
background-color: #000;
padding: 10px 20px;
font-weight: lighter;
}
<ul class="menu">
<li class="dropdown-item"><a href="#">O Firmie</a>
<ul class="dropdown">
<div class="triangle"></div>
<li><a href="#">Aktualności</a></li>
<li><a href="#">Nasz team</a></li>
<li><a href="#">Historia</a></li>
</ul>
</li>
<li><a href="#">Galeria</a></li>
<li><a href="#">Kontakt</a></li>
</ul>