Я не великий спец, но действовала бы так - механизм открытия реализовала бы через анимацию, повешенную на класс типа .active, и по клику, если элемент актив, убираем у него этот класс, если не актив - ему добавляем, а у всех остальных - убираем. функцию убрать все классы active у этой коллекции элементов можно вынести отдельно и повесить на ту кнопку ,по клику на которую все должны свернуться, если эта опция требуется отдельно.