Есть хороший компонент для jQuery UI - Accordion. Как понятно из названия он работает как гармошка, т.е. при клике на заголовок, активный блок сворачивается и раскрывается новый.
Но иногда требуется чтобы компонент, при повторном нажатии на заголовок, сворачивал раскрытый блок. Т.е. это что-то среднее между акордионом и спойером.
Для этого есть специальная настройка.

