Skip to content

Instantly share code, notes, and snippets.

@grahamgilchrist
Created June 7, 2013 16:17
Show Gist options
  • Save grahamgilchrist/5730457 to your computer and use it in GitHub Desktop.
Save grahamgilchrist/5730457 to your computer and use it in GitHub Desktop.
Cross browser shims for animationEvents
// Cross browser shims
// Return appropriate browser transitionend event(s)
// defined as an IIFE because it only ever needs to run once
// See http://stackoverflow.com/questions/5023514/how-do-i-normalize-css3-transition-functions-across-browsers
utils.transitionEvent = (function(){
var t;
var el = document.createElement('fakeelement');
var transitions = {
'transition':'transitionEnd transitionend',
'OTransition':'oTransitionEnd otransitionend',
'MozTransition':'transitionEnd transitionend',
'WebkitTransition':'webkitTransitionEnd webkittransitionend'
};
for(t in transitions){
if( el.style[t] !== undefined ){
return transitions[t];
}
}
})();
utils.animationEvent = (function(){
var t;
var el = document.createElement('fakeelement');
var animations = {
'AnimationName':'animationEnd animationend',
'OAnimationName':'oAnimationEnd oanimationend',
'MozAnimationName':'animationEnd animationend',
'WebkitAnimationName':'webkitAnimationEnd webkitanimationend'
};
for(t in animations){
if( el.style[t] !== undefined ) {
return animations[t];
}
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment