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); |