diff options
author | Jörn Zaefferer <joern.zaefferer@gmail.com> | 2011-06-19 14:45:20 +0200 |
---|---|---|
committer | Jörn Zaefferer <joern.zaefferer@gmail.com> | 2011-06-19 14:45:20 +0200 |
commit | aa7f8195f8c288dbefcb92064b68cb28064ac64c (patch) | |
tree | 333cd184f8a830c1b588e3d3d0368c134648a3b6 /ui/jquery.effects.transfer.js | |
parent | 391282a9aeb4e5bb6ba6655d7f1d5d125f93155a (diff) | |
parent | fb210ae1ec16cefb1e4d4dfaf7d55499cac53ab8 (diff) | |
download | jquery-ui-aa7f8195f8c288dbefcb92064b68cb28064ac64c.tar.gz jquery-ui-aa7f8195f8c288dbefcb92064b68cb28064ac64c.zip |
Merge branch 'master' into widget-delegation
Diffstat (limited to 'ui/jquery.effects.transfer.js')
-rw-r--r-- | ui/jquery.effects.transfer.js | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/ui/jquery.effects.transfer.js b/ui/jquery.effects.transfer.js index 17d23c5fa..f0f9d9fd4 100644 --- a/ui/jquery.effects.transfer.js +++ b/ui/jquery.effects.transfer.js @@ -17,10 +17,14 @@ $.effects.effect.transfer = function( o ) { return this.queue( function() { 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, - left: endPosition.left, + top: endPosition.top - fixTop , + left: endPosition.left - fixLeft , height: target.innerHeight(), width: target.innerWidth() }, @@ -29,11 +33,11 @@ $.effects.effect.transfer = function( o ) { .appendTo( document.body ) .addClass( o.className ) .css({ - top: startPosition.top, - left: startPosition.left, + top: startPosition.top - fixTop , + left: startPosition.left - fixLeft , height: elem.innerHeight(), width: elem.innerWidth(), - position: 'absolute' + position: targetFixed ? "fixed" : "absolute" }) .animate( animation, o.duration, o.easing, function() { transfer.remove(); |