From: Brandon Aaron Date: Tue, 23 Mar 2010 00:05:08 +0000 (-0400) Subject: Fix setting only one property at a time in .offset({}) X-Git-Url: http://git.asbjorn.it/?a=commitdiff_plain;h=08cf82e88e7a1f88da34ca251335a685889f8765;p=jquery.git Fix setting only one property at a time in .offset({}) --- diff --git a/src/offset.js b/src/offset.js index 365b35a..59591ca 100644 --- a/src/offset.js +++ b/src/offset.js @@ -157,16 +157,19 @@ jQuery.offset = { var curElem = jQuery( elem ), curOffset = curElem.offset(), curTop = parseInt( jQuery.curCSS( elem, "top", true ), 10 ) || 0, - curLeft = parseInt( jQuery.curCSS( elem, "left", true ), 10 ) || 0; + curLeft = parseInt( jQuery.curCSS( elem, "left", true ), 10 ) || 0, + props = {}; if ( jQuery.isFunction( options ) ) { options = options.call( elem, i, curOffset ); } - var props = { - top: (options.top - curOffset.top) + curTop, - left: (options.left - curOffset.left) + curLeft - }; + if (options.top != null) { + props.top = (options.top - curOffset.top) + curTop; + } + if (options.left != null) { + props.left = (options.left - curOffset.left) + curLeft; + } if ( "using" in options ) { options.using.call( elem, props );