Здравствуйте. Делаю верстку проекта для отработки навыков. Решила сделать открытие выпадающего меню при помощи JS. Меню работает. Но кнопка переключается только один раз. Где допустила ошибку?
И нужно ли еще делать открытие меню без JS для подстраховки? Если да, то как?
Если что, могу скинуть ссылку на репозиторий.
.button-subcatalog {
position: absolute;
top: -10px;
left: 243px;
z-index: 2;
width: 50px;
height: 50px;
border-radius: 50%;
background-color: transparent;
border: 2px solid #000000;
opacity: 0.3;
}
.button-subcatalog-opened {
background-image: url("../images/header/plus-icon.svg");
background-size: 16px 16px;
background-repeat: no-repeat;
background-position: center;
}
.button-subcatalog-closed {
background-image: url("../images/header/minus-icon.svg");
background-size: 16px 2px;
background-repeat: no-repeat;
background-position: center;
}
.button-subcatalog:hover,
.button-subcatalog:active {
opacity: 1;
}
.catalog-popover-wrapper {
position: absolute;
top: 30px;
left: -60px;
z-index: 1;
width: 1100px;
padding-bottom: 51px;
padding-left: 60px;
background-color: #ffe17f;
}
.popover-closed {
display: none;
}
.popover-closed .button-subcatalog-opened {
display: block;
}
.popover-closed .button-subcatalog-closed {
display: none;
}
.popover-open {
display: block;
}
.popover-open .button-subcatalog-opened {
display: none;
}
.popover-open .button-subcatalog-closed {
display: block;
}
let catalogPopover = document.querySelector('.catalog-popover-wrapper');
let buttonSubcatalog = document.querySelector('.button-subcatalog');
catalogPopover.classList.remove('popover-closed-nojs');
buttonSubcatalog.classList.remove('button-subcatalog-opened-nojs');
buttonSubcatalog.addEventListener('click', function () {
if (catalogPopover.classList.contains('popover-closed')) {
catalogPopover.classList.remove('popover-closed');
catalogPopover.classList.add('popover-opened');
buttonSubcatalog.classList.remove('.button-subcatalog-opened');
buttonSubcatalog.classList.add('button-subcatalog-closed');
} else {
catalogPopover.classList.add('popover-closed');
catalogPopover.classList.remove('popover-opened');
buttonSubcatalog.classList.remove('.button-subcatalog-closed');
buttonSubcatalog.classList.add('button-subcatalog-opened');
}
});