Помучился и сделал!
Оказывается, анимация не завершает свое действие, а просто останавливается. Поэтому не проигрывается по второму клику в обратном направлении.
Один из способов, чтобы ее остановить:
1)Клонировать элемент, на котором повешено событие, предварительно удалив из него атрибут style.
2)Удалить сам этот элемент.
3)Вставить вместо него его клон.
Вот решение для моего кода:
function addStyle(elementId, animationClassName) {
...
var elem = document.getElementById(elementId);
var father = elem.parentNode;
elem.removeAttribute('style');
var newElem = elem.cloneNode(true);
elem.parentNode.removeChild(elem);
father.appendChild(newElem);
newElem.setAttribute('style', getStyleValue(animationClassName));
}