Include scroll offsets for everything but inline and table-row elements
[jquery.git] / src / offset.js
index 6289ad2..9c43296 100644 (file)
@@ -1,3 +1,6 @@
+// The Offset Method
+// Originally By Brandon Aaron, part of the Dimension Plugin
+// http://jquery.com/plugins/project/dimensions
 jQuery.fn.offset = function() {
        var left = 0, top = 0, elem = this[0], results;
        
@@ -52,9 +55,9 @@ jQuery.fn.offset = function() {
                        }
                
                        // Get parent scroll offsets
-                       while ( parent.tagName && /^body|html$/i.test(parent.tagName) ) {
+                       while ( parent.tagName && !/^body|html$/i.test(parent.tagName) ) {
                                // Work around opera inline/table scrollLeft/Top bug
-                               if ( /^inline|table-row.*$/i.test(jQuery.css(parent, "display")) )
+                               if ( !/^inline|table-row.*$/i.test(jQuery.css(parent, "display")) )
                                        // Subtract parent scroll offsets
                                        add( -parent.scrollLeft, -parent.scrollTop );
                        
@@ -67,7 +70,7 @@ jQuery.fn.offset = function() {
                        }
                
                        // Safari doubles body offsets with an absolutely positioned element or parent
-                       if ( safari && absolute )
+                       if ( safari2 && absolute )
                                add( -doc.body.offsetLeft, -doc.body.offsetTop );
                }