Задать вопрос
@jeka-3

Как можно переделать данный скрипт аккордеона под функцию, чтобы можно было использовать несколько раз на сайте?

Как можно переделать данный скрипт аккордеона под функцию, чтобы можно было использовать несколько раз на сайте?
let accordeonLink = document.querySelectorAll('.accordion-item__link'),
      accordeonItem = document.querySelectorAll('.accordion-item');

  accordeonLink.forEach((item) => 
    item.addEventListener('click',  () => {
      let parent = item.parentNode;

      if (parent.classList.contains('accordion-item__active')) {
        parent.classList.remove('accordion-item__active');
      } else {
        accordeonItem.forEach((child) => child.classList.remove('accordion-item__active'))
      }

      parent.classList.toggle('accordion-item__active');

    })
  );

Или может у кого-то есть аналоги?
  • Вопрос задан
  • 71 просмотр
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Tim-A-2020
@Tim-A-2020
Примерно так. Без html сложно угадать
document.addEventListener('click', (event) => {
   let el = event.target //элемент по которому кликнули

   if (el.classList.contains('accordion-item__active')) {
     el.classList.remove('accordion-item__active');
   } else {
     document.querySelectorAll('.accordion-item__active').forEach(i => i.classList.remove('accordion-item__active'))
   }

   el.classList.toggle('accordion-item__active');

 })
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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