Аккордеон на нативном js

Сергей Дмитриев

Короче, решил я тут аккордеон сделать без библиотек, написал вот такой код:

var title = document.querySelectorAll('.faq__item-title'),
    content = document.querySelectorAll('.faq__item-content'),
    wrapper = document.querySelectorAll('.faq__item .wrapper');
for (var i = 0; i < title.length; i++) {
  title[i].addEventListener('click', function(evt) {
    evt.preventDefault();
    if (wrapElem.clientHeight == 0) {
      wrapper[i].style.height = content[i].clientHeight + "px";
    }
  });
}

Опытные прогеры, возможно заметили, что переменная i не передаётся в тело функции, видимо, что-то там с замыканиями связано, с контекстом и т.д. Вот собственно вопрос, что делать, как передать переменную в функцию. Потому что, если подставить числа вместо i вручную, то аккордеон работает.

1 чел.