0

ページを中央までスクロールしてから、ページをリロードします (F5)。その後、まだ真ん中にスクロールします。それは正常です。私の仕事は、ページが読み込まれた後に scrollY = 0 を設定することです。

document.documentElement.scrollTop = 0 (document.body.scrollTop = 0 または window.pageXOffset = 0 内または外$(document).ready(...) or $(window).load(...)) を設定すると、ページは一番上までスクロールされません。

私はこの機能を持っています:

function getScrollXY() {
    var x = 0, y = 0;
    if( typeof( window.pageYOffset ) == 'number' ) {
        // Netscape
        x = window.pageXOffset;
        y = window.pageYOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
        // DOM
        x = document.body.scrollLeft;
        y = document.body.scrollTop;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
        // IE6 standards compliant mode
        x = document.documentElement.scrollLeft;
        y = document.documentElement.scrollTop;
    }
    return [x, y];
}

ページがロードされた後にページがスクロールされても、常に x=0 を返します。

では、ページがロードされた後にスクロールを一番上に設定する方法は?

jsfiddle のコード: http://jsfiddle.net/g6w9r/1/

結果を見るための jsfiddle からのフレーム: http://fiddle.jshell.net/g6w9r/1/show/

4

1 に答える 1

0
window.scrollTo(x-coord, y-coord);
于 2013-08-15T09:28:52.083 に答える