10

私はこのページに取り組んでいますhttp://dindita.com/preview.html

これを追加して、誰かがページを更新したときに一番上にスクロールするようにしましたが、動作していないようです。私が使用している他のスクロール スクリプトと競合しているのではないかと思います。

<script type="text/javascript">
    $(document).ready(function(){
    $(this).scrollTop(0);
});
</script>

どんな手掛かり?

Ps: 進行中の作業: 乱雑なスクリプト

4

5 に答える 5

36

これを試して:

$(document).ready(function() {
  $("html,body").animate({scrollTop: 0}, 100); //100ms for example
});

またはこれ:

window.onload = function() {
 setTimeout (function () {
  scrollTo(0,0);
 }, 100); //100ms for example
}

またはこれ:

$(window).on('beforeunload', function() {
    $(window).scrollTop(0); 
});

ブラウザはリロード時に最後のスクロール位置に戻る傾向がありますが、これは多くの場合理にかなっています。この自動ジャンプは onload イベントの直後にトリガーされるようです (ただし、これが発生する正確な瞬間はわかりません)。そのため、遅延を使用するか、ページがリロードされる前にブラウザーを一番上までスクロールさせることが理にかなっています。 ;)

于 2014-02-13T21:07:32.017 に答える
3

これを試したとき、私はそのユーレカの瞬間を経験しましたが、うまくいきました:

<script> location.hash = (location.hash) ? location.hash : " "; </script>

<head>あなたのhtmlの。シングルページアプリについてよくわからない!しかし、通常のページでは魅力的に機能します。

于 2016-01-26T22:44:42.023 に答える
0

これは私が一番上にスクロールするために思いついたものですが、ドキュメントがまだ一番上になく、適切に起動するのに問題が発生しないように十分に遅れている場合のみです:

$(window).load(function() {
    setTimeout(function() {
        if ($(document).scrollTop() !== 0) $("html, body").animate({ scrollTop: 0 }, 'fast');
}, 300);
});
于 2014-06-19T04:18:14.240 に答える