7
|
1 /*!
|
|
2 * jQuery UI Effects Transfer 1.10.4
|
|
3 * http://jqueryui.com
|
|
4 *
|
|
5 * Copyright 2014 jQuery Foundation and other contributors
|
|
6 * Released under the MIT license.
|
|
7 * http://jquery.org/license
|
|
8 *
|
|
9 * http://api.jqueryui.com/transfer-effect/
|
|
10 *
|
|
11 * Depends:
|
|
12 * jquery.ui.effect.js
|
|
13 */
|
|
14 (function( $, undefined ) {
|
|
15
|
|
16 $.effects.effect.transfer = function( o, done ) {
|
|
17 var elem = $( this ),
|
|
18 target = $( o.to ),
|
|
19 targetFixed = target.css( "position" ) === "fixed",
|
|
20 body = $("body"),
|
|
21 fixTop = targetFixed ? body.scrollTop() : 0,
|
|
22 fixLeft = targetFixed ? body.scrollLeft() : 0,
|
|
23 endPosition = target.offset(),
|
|
24 animation = {
|
|
25 top: endPosition.top - fixTop ,
|
|
26 left: endPosition.left - fixLeft ,
|
|
27 height: target.innerHeight(),
|
|
28 width: target.innerWidth()
|
|
29 },
|
|
30 startPosition = elem.offset(),
|
|
31 transfer = $( "<div class='ui-effects-transfer'></div>" )
|
|
32 .appendTo( document.body )
|
|
33 .addClass( o.className )
|
|
34 .css({
|
|
35 top: startPosition.top - fixTop ,
|
|
36 left: startPosition.left - fixLeft ,
|
|
37 height: elem.innerHeight(),
|
|
38 width: elem.innerWidth(),
|
|
39 position: targetFixed ? "fixed" : "absolute"
|
|
40 })
|
|
41 .animate( animation, o.duration, o.easing, function() {
|
|
42 transfer.remove();
|
|
43 done();
|
|
44 });
|
|
45 };
|
|
46
|
|
47 })(jQuery);
|