function whichTransitionEvent(el){ var t; var transitions = { 'transition':'transitionend', 'OTransition':'oTransitionEnd', 'MozTransition':'transitionend', 'WebkitTransition':'webkitTransitionEnd' } for(t in transitions){ if( el.style[t] !== undefined ){ return transitions[t]; } } } var transitionEnd = whichTransitionEvent(element); element.addEventListener(transitionEnd, function(event) { if(element.className.indexOf('star-expand') === -1) { element.className += ' star-expand'; } });