diff --git a/src/offset.js b/src/offset.js index 69e571f7f..f4b478f10 100644 --- a/src/offset.js +++ b/src/offset.js @@ -171,8 +171,8 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( if ( win ) { win.scrollTo( - !top ? val : window.pageXOffset, - top ? val : window.pageYOffset + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset ); } else { diff --git a/test/unit/offset.js b/test/unit/offset.js index 2c21f5055..7771df17e 100644 --- a/test/unit/offset.js +++ b/test/unit/offset.js @@ -531,4 +531,19 @@ test("fractions (see #7730 and #7885)", function() { div.remove(); }); +test("iframe scrollTop/Left (see gh-1945)", function() { + expect( 2 ); + + // Tests scrollTop/Left with iframes + var ifDoc = jQuery( "#iframe" )[ 0 ].contentDocument; + jQuery( "#iframe" ).css( "width", "50px" ).css( "height", "50px" ); + ifDoc.write( "
" ); + + jQuery( ifDoc ).scrollTop( 200 ); + jQuery( ifDoc ).scrollLeft( 500 ); + + equal( jQuery( ifDoc ).scrollTop(), 200, "$($('#iframe')[0].contentDocument).scrollTop()" ); + equal( jQuery( ifDoc ).scrollLeft(), 500, "$($('#iframe')[0].contentDocument).scrollLeft()" ); +}); + })();