jquery-mobile/js/jquery.mobile.transition.js
2011-04-26 16:36:31 -07:00

46 lines
1.2 KiB
JavaScript

/*!
* 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);
if ($from){
$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 );