aboutsummaryrefslogtreecommitdiffstats
path: root/src/offset.js
diff options
context:
space:
mode:
authorBrandon Aaron <brandon.aaron@gmail.com>2009-03-17 20:50:17 +0000
committerBrandon Aaron <brandon.aaron@gmail.com>2009-03-17 20:50:17 +0000
commita37cccc8827619cfbd76e229af9de2529041ee5b (patch)
tree0c978a026650f0e7f9e64153d84623820b3cafac /src/offset.js
parent36b4a9ba33b22b2394a1b190b0b4ade1be6d0b02 (diff)
downloadjquery-a37cccc8827619cfbd76e229af9de2529041ee5b.tar.gz
jquery-a37cccc8827619cfbd76e229af9de2529041ee5b.zip
return null when no matched elements exist for offset and position
Diffstat (limited to 'src/offset.js')
-rw-r--r--src/offset.js58
1 files changed, 29 insertions, 29 deletions
diff --git a/src/offset.js b/src/offset.js
index 4370fe5e3..f25f83362 100644
--- a/src/offset.js
+++ b/src/offset.js
@@ -1,7 +1,7 @@
if ( "getBoundingClientRect" in document.documentElement )
jQuery.fn.offset = function() {
var elem = this[0];
- if ( !elem ) return { top: 0, left: 0 };
+ if ( !elem ) return null;
if ( elem === elem.ownerDocument.body ) return jQuery.offset.bodyOffset( elem );
var box = elem.getBoundingClientRect(), doc = elem.ownerDocument, body = doc.body, docElem = doc.documentElement,
clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,
@@ -12,7 +12,7 @@ if ( "getBoundingClientRect" in document.documentElement )
else
jQuery.fn.offset = function() {
var elem = this[0];
- if ( !elem ) return { top: 0, left: 0 };
+ if ( !elem ) return null;
if ( elem === elem.ownerDocument.body ) return jQuery.offset.bodyOffset( elem );
jQuery.offset.initialized || jQuery.offset.initialize();
@@ -88,32 +88,32 @@ jQuery.offset = {
jQuery.fn.extend({
position: function() {
- var left = 0, top = 0, results;
-
- if ( this[0] ) {
- // Get *real* offsetParent
- var offsetParent = this.offsetParent(),
-
- // Get correct offsets
- offset = this.offset(),
- parentOffset = /^body|html$/i.test(offsetParent[0].tagName) ? { top: 0, left: 0 } : offsetParent.offset();
-
- // Subtract element margins
- // note: when an element has margin: auto the offsetLeft and marginLeft
- // are the same in Safari causing offset.left to incorrectly be 0
- offset.top -= num( this, 'marginTop' );
- offset.left -= num( this, 'marginLeft' );
-
- // Add offsetParent borders
- parentOffset.top += num( offsetParent, 'borderTopWidth' );
- parentOffset.left += num( offsetParent, 'borderLeftWidth' );
-
- // Subtract the two offsets
- results = {
- top: offset.top - parentOffset.top,
- left: offset.left - parentOffset.left
- };
- }
+ if ( !this[0] ) return null;
+
+ var left = 0, top = 0, results,
+
+ // Get *real* offsetParent
+ offsetParent = this.offsetParent(),
+
+ // Get correct offsets
+ offset = this.offset(),
+ parentOffset = /^body|html$/i.test(offsetParent[0].tagName) ? { top: 0, left: 0 } : offsetParent.offset();
+
+ // Subtract element margins
+ // note: when an element has margin: auto the offsetLeft and marginLeft
+ // are the same in Safari causing offset.left to incorrectly be 0
+ offset.top -= num( this, 'marginTop' );
+ offset.left -= num( this, 'marginLeft' );
+
+ // Add offsetParent borders
+ parentOffset.top += num( offsetParent, 'borderTopWidth' );
+ parentOffset.left += num( offsetParent, 'borderLeftWidth' );
+
+ // Subtract the two offsets
+ results = {
+ top: offset.top - parentOffset.top,
+ left: offset.left - parentOffset.left
+ };
return results;
},
@@ -132,7 +132,7 @@ jQuery.each( ['Left', 'Top'], function(i, name) {
var method = 'scroll' + name;
jQuery.fn[ method ] = function(val) {
- if (!this[0]) return null;
+ if ( !this[0] ) return null;
return val !== undefined ?