3

IE でこれが機能しないのはなぜですか?

$(document).ready(function(){

    $(window).scrollLeft(0);


});

ありがとう

4

3 に答える 3

2

このスクリプトは必要に応じて機能するはずです

$(document).ready(function ()
{
    $(window).bind("scroll", ScrollOnLoad);
    // IE fix, remove scroll handler after 150ms
    setTimeout(UnbindScroll, 150); 
});

function ScrollOnLoad() {
    UnbindScroll();
    $(window).scrollLeft(0);
}

function UnbindScroll() {
    $(window).unbind("scroll", ScrollOnLoad);
}

お気づきのように、IE の動作は異なります。scroll後でもイベントをトリガーしますdocument.ready。このスクリプトは、このイベントとscrollLeft(0)更新後に接続されます (すべてのブラウザーで)。

複雑な部分は、ユーザーが初めてページにアクセスしたときに、新規参入者をどのように解決するかです。その後、Internet Explorer はscrollイベントを発生しません。そして、ハンドラーはまだ実行中です (ユーザーが最初に右にスクロールすると、左にスクロールします)。

scrollLeft手動でアンバインドする必要があります。そのため、とにかく 150 ミリ秒後にハンドラーが無制限になります。

于 2012-11-12T20:47:15.527 に答える
1

試す

$(window).load(function(){
    $('body, html').scrollLeft(0);
});
于 2013-02-28T14:46:03.683 に答える
0

試す

$(document).ready(function(){
    $('body, html').scrollLeft(0);
});
于 2012-11-12T17:49:38.590 に答える