Skip to content

Instantly share code, notes, and snippets.

@cadecairos
Created August 28, 2012 15:39
Show Gist options
  • Save cadecairos/3499218 to your computer and use it in GitHub Desktop.
Save cadecairos/3499218 to your computer and use it in GitHub Desktop.
diff --git a/src/util/lang.js b/src/util/lang.js
index e3405e9..539b490 100644
--- a/src/util/lang.js
+++ b/src/util/lang.js
@@ -4,7 +4,8 @@
define( [], function(){
- var DEFAULT_TRANSITION_TIMEOUT = 15;
+ var _transitionEndWrapperFn,
+ DEFAULT_TRANSITION_TIMEOUT = 15;
// Detects if this browser supports CSS3 Transitions
var TRANSITIONS_SUPPORTED = (function() {
@@ -12,13 +13,23 @@ define( [], function(){
p,
supported = false,
pre = [ "ms", "O", "Webkit", "Moz", "" ];
+
+ // Set default fallback behaviour
+ _transitionEndWrapperFn = function( element, listener ) {
+ setTimeout( listener, DEFAULT_TRANSITION_TIMEOUT );
+ };
+
+ // Check for CSS3 Transition Support, and update wrapper function appropriately
for ( p in pre ) {
if ( div.style[ pre[ p ] + "Transition" ] !== undefined ) {
- supported = true;
+ _transitionEndWrapperFn = function( element, listener ) {
+ element.addEventListener( "transitionend", listener, false );
+ element.addEventListener( "oTransitionEnd", listener, false );
+ element.addEventListener( "WebkitTransitionEnd", listener, false );
+ };
break;
}
}
- return supported;
}());
return {
@@ -110,15 +121,7 @@ define( [], function(){
return fragment;
},
- transitionEndWrapper: function( element, listener ) {
- if ( TRANSITIONS_SUPPORTED ) {
- element.addEventListener( "transitionend", listener, false );
- element.addEventListener( "oTransitionEnd", listener, false );
- element.addEventListener( "WebkitTransitionEnd", listener, false );
- } else {
- setTimeout( listener, DEFAULT_TRANSITION_TIMEOUT );
- }
- }
+ transitionEndWrapper: _transitionEndWrapperFn
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment