else
логика для кейса, если нажали на тот же элемент; после - если на другой.transionend
, в котором необходимо добавлять класс для тела аккордиона, который будет скрывать элемент из DOM-а. Также необходима логика, которая будет высчитывать высоту тела аккордиона, чтобы корректно анимировать высоту (либо использовать хак через max-height
). history.pushState
, а при onpopstate
происходит восстановление.
Никогда бы не подумал, что инструмент для работы именно так выбирают.