2 * "transitions" plugin - Page change tranistions
5 (function( $, window, undefined ) {
7 function css3TransitionHandler( name, reverse, $to, $from ) {
9 var deferred = new $.Deferred(),
10 reverseClass = reverse ? " reverse" : "",
11 viewportClass = "ui-mobile-viewport-transitioning viewport-" + name,
12 doneFunc = function() {
14 $to.add( $from ).removeClass( "out in reverse " + name );
16 if ( $from && $from[ 0 ] !== $to[ 0 ] ) {
17 $from.removeClass( $.mobile.activePageClass );
20 $to.parent().removeClass( viewportClass );
22 deferred.resolve( name, reverse, $to, $from );
25 $to.animationComplete( doneFunc );
27 $to.parent().addClass( viewportClass );
30 $from.addClass( name + " out" + reverseClass );
32 $to.addClass( $.mobile.activePageClass + " " + name + " in" + reverseClass );
34 return deferred.promise();
37 // Make our transition handler public.
38 $.mobile.css3TransitionHandler = css3TransitionHandler;
40 // If the default transition handler is the 'none' handler, replace it with our handler.
41 if ( $.mobile.defaultTransitionHandler === $.mobile.noneTransitionHandler ) {
42 $.mobile.defaultTransitionHandler = css3TransitionHandler;