высота. Дальше когда меняется размер окна нужно менять и высоту этого блока. Но как правильно удалить обработчик resize window при закрытии блока?
Сейчас как бы неработает
window.removeEventListener("resize", onResizeBody);
это и логично потому что при клике закрытия по сути создется новое функциональное выражения onResizeBody.
const list = document.querySelectorAll(".item");
const onClick = (evt) => {
const item = evt.currentTarget;
item.classList.toggle("item--active");
const itemBody = item.firstElementChild;
const onResizeBody = () =>
console.log(item.dataset.id);
itemBody.style.setProperty("--height", `${itemBody.scrollHeight}px`);
if (item.classList.contains("item--active")) {
onResizeBody();
window.addEventListener("resize", onResizeBody);
} else {
itemBody.style.setProperty("--height", 0);
window.removeEventListener("resize", onResizeBody);
}
};
list.forEach((el) => el.addEventListener("click", onClick)); https://codepen.io/boggddan/pen/jOmYMvY
ключ -- это important?
ну как бы нет, но там логика все норм работает, вопрос как лчуше всего удалить обработчик события
Обсуждают сегодня