]> source.dussan.org Git - jquery.git/commitdiff
Revert "Offset: account for scroll when calculating position"
authorOleg Gaidarenko <markelog@gmail.com>
Mon, 8 Feb 2016 21:17:25 +0000 (00:17 +0300)
committerOleg Gaidarenko <markelog@gmail.com>
Mon, 8 Feb 2016 21:24:22 +0000 (00:24 +0300)
This reverts commit 2d715940b9b6fdeed005cd006c8bf63951cf7fb2.

This commit provoked new issues: gh-2836, gh-2828.

At the meeting, we decided to revert offending commit
(in all three branches - 2.2-stable, 1.12-stable and master)
and tackle this issue in 3.x.

Fixes gh-2828

src/offset.js
test/unit/offset.js

index f7ef79c3c7fa8853effc0afe53b9fe7632648bcc..3650413911d4f4d03998117851c027b6645043e8 100644 (file)
@@ -144,11 +144,8 @@ jQuery.fn.extend( {
                        }
 
                        // Add offsetParent borders
-                       // Subtract offsetParent scroll positions
-                       parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ) -
-                               offsetParent.scrollTop();
-                       parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ) -
-                               offsetParent.scrollLeft();
+                       parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true );
+                       parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true );
                }
 
                // Subtract parent offsets and element margins
index a0f253b4e071f45ed6444296511d49cdf201d66b..823ccd7d295aff590a51500efb216996f2459b5f 100644 (file)
@@ -406,7 +406,7 @@ testIframe( "offset/table", "table", function( $, window, document, assert ) {
 } );
 
 testIframe( "offset/scroll", "scroll", function( $, win, doc, assert ) {
-       assert.expect( 30 );
+       assert.expect( 24 );
 
        assert.equal( $( "#scroll-1" ).offset().top, 7, "jQuery('#scroll-1').offset().top" );
        assert.equal( $( "#scroll-1" ).offset().left, 7, "jQuery('#scroll-1').offset().left" );
@@ -462,17 +462,6 @@ testIframe( "offset/scroll", "scroll", function( $, win, doc, assert ) {
        assert.notEqual( $().scrollLeft( null ), null, "jQuery().scrollLeft(null) testing setter on empty jquery object" );
        assert.strictEqual( $().scrollTop(), undefined, "jQuery().scrollTop() testing getter on empty jquery object" );
        assert.strictEqual( $().scrollLeft(), undefined, "jQuery().scrollLeft() testing getter on empty jquery object" );
-
-       // Tests position after parent scrolling (#15239)
-       $( "#scroll-1" ).scrollTop( 0 );
-       $( "#scroll-1" ).scrollLeft( 0 );
-       assert.equal( $( "#scroll-1-1" ).position().top, 6, "jQuery('#scroll-1-1').position().top unaffected by parent scrolling" );
-       assert.equal( $( "#scroll-1-1" ).position().left, 6, "jQuery('#scroll-1-1').position().left unaffected by parent scrolling" );
-
-       $( "#scroll-1" ).scrollTop( 5 );
-       $( "#scroll-1" ).scrollLeft( 5 );
-       assert.equal( $( "#scroll-1-1" ).position().top, 6, "jQuery('#scroll-1-1').position().top unaffected by parent scrolling" );
-       assert.equal( $( "#scroll-1-1" ).position().left, 6, "jQuery('#scroll-1-1').position().left unaffected by parent scrolling" );
 } );
 
 testIframe( "offset/body", "body", function( $, window, document, assert ) {
@@ -486,6 +475,7 @@ testIframe( "offset/body", "body", function( $, window, document, assert ) {
 
 QUnit.test( "chaining", function( assert ) {
        assert.expect( 3 );
+
        var coords = { "top":  1, "left":  1 };
        assert.equal( jQuery( "#absolute-1" ).offset( coords ).jquery, jQuery.fn.jquery, "offset(coords) returns jQuery object" );
        assert.equal( jQuery( "#non-existent" ).offset( coords ).jquery, jQuery.fn.jquery, "offset(coords) with empty jQuery set returns jQuery object" );