2008-06-06 20:08:52 +00:00
|
|
|
/*
|
2008-09-04 22:03:30 +00:00
|
|
|
* jQuery UI Effects Transfer @VERSION
|
2008-06-06 20:08:52 +00:00
|
|
|
*
|
2011-01-17 14:13:18 +00:00
|
|
|
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
2010-07-09 13:01:04 +00:00
|
|
|
* Dual licensed under the MIT or GPL Version 2 licenses.
|
|
|
|
* http://jquery.org/license
|
2008-11-20 04:10:34 +00:00
|
|
|
*
|
2008-06-06 20:08:52 +00:00
|
|
|
* http://docs.jquery.com/UI/Effects/Transfer
|
|
|
|
*
|
|
|
|
* Depends:
|
2009-09-17 10:39:12 +00:00
|
|
|
* jquery.effects.core.js
|
2008-06-06 20:08:52 +00:00
|
|
|
*/
|
2010-07-13 13:57:58 +00:00
|
|
|
(function( $, undefined ) {
|
2008-06-04 02:34:33 +00:00
|
|
|
|
2011-06-21 06:11:46 +00:00
|
|
|
$.effects.effect.transfer = function( o, done ) {
|
2011-06-21 05:23:52 +00:00
|
|
|
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();
|
2011-06-21 06:11:46 +00:00
|
|
|
done();
|
2011-06-21 05:23:52 +00:00
|
|
|
});
|
2008-06-06 19:47:31 +00:00
|
|
|
};
|
2008-06-04 02:34:33 +00:00
|
|
|
|
|
|
|
})(jQuery);
|