forked from snookca/prepareTransition
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpreparetransition.min.js
More file actions
1 lines (1 loc) · 1.45 KB
/
Copy pathpreparetransition.min.js
File metadata and controls
1 lines (1 loc) · 1.45 KB
1
!function(n){function t(){var n=document.body||document.documentElement,t=n.style,r="transition";if("string"==typeof t[r])return!0;var s=["Moz","webkit","Webkit","Khtml","O","ms"];r=r.charAt(0).toUpperCase()+r.substr(1);for(var o=0;o<s.length;o++)if("string"==typeof t[s[o]+r])return!0;return!1}function r(){var n=window.getComputedStyle(document.body,null),t={css:null,js:null};return null!==n.getPropertyValue("transform")?(t.css="transform",t.js="transform",t):null!==n.getPropertyValue("-webkit-transform")?(t.css="-webkit-transform",t.js="webkitTransform",t):null!==n.getPropertyValue("-moz-transform")?(t.css="-moz-transform",t.js="MozTransform",t):null!==n.getPropertyValue("-ms-transform")?(t.css="-ms-transform",t.js="msTransform",t):null!==n.getPropertyValue("-o-transform")?(t.css="-o-transform",t.js="OTransform",t):null}n.fn.prepareTransition=function(s){var o=t();return"transform"===s&&(s=r().css),this.each(function(){var t=n(this);if(o){var r=!1;t.on("TransitionEnd webkitTransitionEnd transitionend oTransitionEnd",function(o){s&&o.originalEvent.propertyName!==s||r||(r=!0,t.removeClass("is-transitioning"),n(this).off("TransitionEnd webkitTransitionEnd transitionend oTransitionEnd"))})}else t.addClass("hasnt-transition");var i=["transition-duration","-moz-transition-duration","-webkit-transition-duration","-o-transition-duration"],a=0;n.each(i,function(n,r){a||(a=parseFloat(t.css(r)))}),0!=a&&(o&&t.addClass("is-transitioning"),t[0].offsetWidth)})}}(jQuery);