aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authortomykaira <tomykaira@gmail.com>2011-05-20 10:25:34 +0900
committertomykaira <tomykaira@gmail.com>2011-05-26 11:15:14 +0900
commit7d232f753428d68ade9b73f091579811cf90eb96 (patch)
treeb920a51d1b36d148b119157c346b6dae455f5d97 /ui
parentfe4ae3045810421d2489175739098deb6852417b (diff)
downloadjquery-ui-7d232f753428d68ade9b73f091579811cf90eb96.tar.gz
jquery-ui-7d232f753428d68ade9b73f091579811cf90eb96.zip
effects.scale: fix: calculate top / left by outerHeight / Width. Fixed #6096 - effects.scale origin bottom bug
Diffstat (limited to 'ui')
-rw-r--r--ui/jquery.effects.scale.js31
1 files changed, 19 insertions, 12 deletions
diff --git a/ui/jquery.effects.scale.js b/ui/jquery.effects.scale.js
index b5c49ce7c..00f0151af 100644
--- a/ui/jquery.effects.scale.js
+++ b/ui/jquery.effects.scale.js
@@ -54,7 +54,9 @@ $.effects.effect.scale = function( o ) {
origin = o.origin,
original = {
height: el.height(),
- width: el.width()
+ width: el.width(),
+ outerHeight: el.outerHeight(),
+ outerWidth: el.outerWidth()
},
factor = {
y: direction != 'horizontal' ? (percent / 100) : 1,
@@ -74,7 +76,9 @@ $.effects.effect.scale = function( o ) {
options.from = o.from || ( mode == 'show' ? { height: 0, width: 0 } : original );
options.to = {
height: original.height * factor.y,
- width: original.width * factor.x
+ width: original.width * factor.x,
+ outerHeight: original.outerHeight * factor.y,
+ outerWidth: original.outerWidth * factor.x
};
if ( options.fade ) { // Fade option to support puff
@@ -122,21 +126,14 @@ $.effects.effect.size = function( o ) {
}
original = {
height: el.height(),
- width: el.width()
+ width: el.width(),
+ outerHeight: el.outerHeight(),
+ outerWidth: el.outerWidth()
};
el.from = o.from || original;
el.to = o.to || original;
- // Adjust
- if (origin) { // Calculate baseline shifts
- baseline = $.effects.getBaseline( origin, original );
- el.from.top = ( original.height - el.from.height ) * baseline.y;
- el.from.left = ( original.width - el.from.width ) * baseline.x;
- el.to.top = ( original.height - el.to.height ) * baseline.y;
- el.to.left = ( original.width - el.to.width ) * baseline.x;
- }
-
// Set scaling factor
factor = {
from: {
@@ -183,6 +180,16 @@ $.effects.effect.size = function( o ) {
$.effects.createWrapper( el );
el.css( 'overflow', 'hidden' ).css( el.from );
+ // Adjust
+ if (origin) { // Calculate baseline shifts
+ baseline = $.effects.getBaseline( origin, original );
+ el.from.top = ( original.outerHeight - el.outerHeight() ) * baseline.y;
+ el.from.left = ( original.outerWidth - el.outerWidth() ) * baseline.x;
+ el.to.top = ( original.outerHeight - el.to.outerHeight ) * baseline.y;
+ el.to.left = ( original.outerWidth - el.to.outerWidth ) * baseline.x;
+ }
+ el.css( el.from ); // set top & left
+
// Animate
if ( scale == 'content' || scale == 'both' ) { // Scale the children