1 /*! |
|
2 * jQuery UI Effects Transfer 1.10.3 |
|
3 * http://jqueryui.com |
|
4 * |
|
5 * Copyright 2013 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); |
|