@SamFlin

Как отменить active у блока которому active был добавлен из списка?

В списке при клике добавляется класс, а при клике на другой элемент списка у предыдущего класс убирается.
Активный элемент добавляет класс внешнему блоку. Проблема в том что при смене активности списка внешний блок остаётся активным.
Так реализована смена активности в списке
const container = document.querySelector('.blockLeft-menu__list')

container.addEventListener('click', function(e) {
const items = document.querySelectorAll('.blockLeft-menu__link')
const target = e.target
Array.from(items).forEach(item => {
item.classList.remove('active')
})
target.classList.add('active')
})
И где-то здесь я понаписал.

const link1 = document.querySelector('.blockLeft-menu__link1');

if (link1){
const johnathan = document.querySelector('.blockRight__johnathan');
link1.addEventListener("click", function (e) {

link1.classList.toggle('active');
johnathan.classList.toggle('active');
});
}
const link2 = document.querySelector('.blockLeft-menu__link2');

if (link2){
const journal = document.querySelector('.blockRight__journal');
link2.addEventListener("click", function (e) {

link2.classList.toggle('active');
journal.classList.toggle('active');
});
}
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ответы на вопрос 1
@FrelFrloich
Приведи в нормальное состояние свой код, вряд ли кто то будет это читать. На вскидку

const btnAll = document.querySelectorAll('.btn')

for (let index = 0; index < btnAll.length; index++) {
    const btn = btnAll[index]

    btn.addEventListener('click', (event) => {
            btnAll.forEach((element) => {
                element.classList.remove('active')
            })
            btn.classList.add('active')
    })
}
Ответ написан
Ваш ответ на вопрос

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

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