diff --git a/js/jquery.mobile.transition.js b/js/jquery.mobile.transition.js new file mode 100644 index 00000000..e80140c6 --- /dev/null +++ b/js/jquery.mobile.transition.js @@ -0,0 +1,44 @@ +/*! + * jQuery Mobile v@VERSION + * http://jquerymobile.com/ + * + * Copyright 2010, jQuery Project + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + */ + +(function( $, window, undefined ) { + +function css3TransitionHandler(name, reverse, $to, $from) +{ + var deferred = new $.Deferred(), + reverseClass = reverse ? " reverse" : "", + viewportClass = "ui-mobile-viewport-transitioning viewport-" + name, + doneFunc = function(){ + $to.add($from).removeClass("out in reverse " + name); + $from.removeClass($.mobile.activePageClass); + $to.parent().removeClass(viewportClass); + + deferred.resolve(name, reverse, $to, $from); + }; + + $to.animationComplete(doneFunc); + + $to.parent().addClass(viewportClass); + if ($from.length){ + $from.addClass(name + " out" + reverseClass); + } + $to.addClass($.mobile.activePageClass + " " + name + " in" + reverseClass); + + return deferred.promise(); +} + +// Make our transition handler public. +$.mobile.css3TransitionHandler = css3TransitionHandler; + +// If the default transition handler is the 'none' handler, replace it with our handler. +if ($.mobile.defaultTransitionHandler === $.mobile.noneTransitionHandler){ + $.mobile.defaultTransitionHandler = css3TransitionHandler; +} + +})( jQuery, this );