jquery-ui/ui/jquery.ui.effect-transfer.js

48 lines
1.2 KiB
JavaScript
Raw Normal View History

/*!
* jQuery UI Effects Transfer @VERSION
2012-07-04 13:08:08 +00:00
* http://jqueryui.com
*
2012-07-04 13:08:08 +00:00
* Copyright 2012 jQuery Foundation and other contributors
2012-08-09 14:13:24 +00:00
* Released under the MIT license.
* http://jquery.org/license
*
2012-09-26 23:06:20 +00:00
* http://api.jqueryui.com/transfer-effect/
*
* Depends:
2012-06-15 16:47:12 +00:00
* jquery.ui.effect.js
*/
(function( $, undefined ) {
2008-06-04 02:34:33 +00:00
$.effects.effect.transfer = function( o, done ) {
var elem = $( this ),
target = $( o.to ),
targetFixed = target.css( "position" ) === "fixed",
body = $("body"),
fixTop = targetFixed ? body.scrollTop() : 0,
fixLeft = targetFixed ? body.scrollLeft() : 0,
endPosition = target.offset(),
animation = {
top: endPosition.top - fixTop ,
left: endPosition.left - fixLeft ,
height: target.innerHeight(),
width: target.innerWidth()
},
startPosition = elem.offset(),
transfer = $( "<div class='ui-effects-transfer'></div>" )
.appendTo( document.body )
.addClass( o.className )
.css({
top: startPosition.top - fixTop ,
left: startPosition.left - fixLeft ,
height: elem.innerHeight(),
width: elem.innerWidth(),
position: targetFixed ? "fixed" : "absolute"
})
.animate( animation, o.duration, o.easing, function() {
transfer.remove();
done();
});
};
2008-06-04 02:34:33 +00:00
})(jQuery);