mirror of
https://github.com/Hopiu/jquery-mobile.git
synced 2026-03-17 06:20:26 +00:00
45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
/*
|
|
* "transitions" plugin - Page change tranistions
|
|
*/
|
|
|
|
(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 );
|
|
|
|
if ( $from && $from[ 0 ] !== $to[ 0 ] ) {
|
|
$from.removeClass( $.mobile.activePageClass );
|
|
}
|
|
|
|
$to.parent().removeClass( viewportClass );
|
|
|
|
deferred.resolve( name, reverse, $to, $from );
|
|
};
|
|
|
|
$to.animationComplete( doneFunc );
|
|
|
|
$to.parent().addClass( viewportClass );
|
|
|
|
if ( $from ) {
|
|
$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 );
|