From 2c1d2b1a4dc74c6487d9f5dd0ecafd34358163a1 Mon Sep 17 00:00:00 2001 From: Mike Sherov Date: Tue, 6 Dec 2011 16:23:22 -0500 Subject: [PATCH] Fix #10754. Have jQuery.swap() return the value of its callback. --- src/css.js | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/src/css.js b/src/css.js index b6c5607e4..b07f5316b 100644 --- a/src/css.js +++ b/src/css.js @@ -140,20 +140,23 @@ jQuery.extend({ // A method for quickly swapping in/out CSS properties to get correct calculations swap: function( elem, options, callback ) { - var old = {}; + var old = {}, + ret, name; // Remember the old values, and insert the new ones - for ( var name in options ) { + for ( name in options ) { old[ name ] = elem.style[ name ]; elem.style[ name ] = options[ name ]; } - callback.call( elem ); + ret = callback.call( elem ); // Revert the old values for ( name in options ) { elem.style[ name ] = old[ name ]; } + + return ret; } }); @@ -163,18 +166,14 @@ jQuery.curCSS = jQuery.css; jQuery.each(["height", "width"], function( i, name ) { jQuery.cssHooks[ name ] = { get: function( elem, computed, extra ) { - var val; - if ( computed ) { if ( elem.offsetWidth !== 0 ) { return getWH( elem, name, extra ); } else { - jQuery.swap( elem, cssShow, function() { - val = getWH( elem, name, extra ); + return jQuery.swap( elem, cssShow, function() { + return getWH( elem, name, extra ); }); } - - return val; } }, @@ -243,15 +242,13 @@ jQuery(function() { get: function( elem, computed ) { // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right // Work around by temporarily setting element display to inline-block - var ret; - jQuery.swap( elem, { "display": "inline-block" }, function() { + return jQuery.swap( elem, { "display": "inline-block" }, function() { if ( computed ) { - ret = curCSS( elem, "margin-right", "marginRight" ); + return curCSS( elem, "margin-right", "marginRight" ); } else { - ret = elem.style.marginRight; + return elem.style.marginRight; } }); - return ret; } }; } -- 2.39.5