Хочу понять логику создания Аккордеона на JS с картинками

Мой код :

const accordion = document.getElementById('acc')
const text = document.querySelectorAll('.panel')

accordion.addEventListener('click', function(event) {
  if (event.target.tagName === 'H3') {
    let selectFlag = false
    if (event.target.nextElementSibling.classList.contains('panel_show')) {
      selectFlag = true
    }
    text.forEach(text => {
      text.classList.remove('panel_show')
    })
    if (!selectFlag) {
      event.target.nextElementSibling.classList.add('panel_show')
    }
  }
})
<ul class="acc">
  <li>
    <h3 class="accordion">mainText</h3>
    <div class="panel">text</div>
  </li>

  <li>
    <h3 class="accordion">mainText</h3>
    <div class="panel">text</div>
  </li>

  <li>
    <h3 class="accordion">mainText</h3>
    <div class="panel">text</div>
  </li>

  <li>
    <h3 class="accordion">mainText</h3>
    <div class="panel">text</div>
  </li>
</ul>

Это все работает , справа от акордеона находится колонка с изображениями , которые я хочу переключать при нажатии (определенный элемент = определенная картинка). Подскажите просто саму логику (без кода). Задать им класс display:none, связать их с определенным элементом по id и показывать через классы? Или связать их по id и делать innerHTML в div созданный для картинки ?


Ответы (0 шт):