2

高さが数百ピクセルの DIV があります。ユーザーがボタンをクリックしたときに、Ajax がサーバーから 2 番目のビューを返したときに、ユーザーが最上部を表示できるようにしたいと考えています。

現在上部が表示されていない場合にのみ、DIV の上部までスクロールするようにするにはどうすればよいですか?

たとえば、ユーザーがページをまったくスクロールせず、解像度が高く、DIV 全体を表示できる場合、スクロールが発生することは望ましくありません。より低い解像度を実行しているユーザーの場合、DIV が表示されるように、DIV の先頭に送信されるようにしたいと思います。

4

2 に答える 2

3

あなたはそのような関数でチェックを行うことができます

ライブデモ

function checkIfInView(element){
    var offset = element.offset().top - $(window).scrollTop();

    if(offset > window.innerHeight){
        // Not in view
        $('html,body').animate({scrollTop: offset}, 1000);
        return false;
    }
   return true;
}​

チェックしたいdivのajax関数の後に呼び出します

checkIfInView($('#testdiv'));
于 2012-09-12T16:35:06.380 に答える
1

それはまったく必要ないと思いますjQuery。をid先頭divに配置し、URL に名前が含まれる URL にリダイレクトしdivます。以下に例を示します。

<div id="top_div"></div>

でリダイレクトjs

// similar behavior as clicking on a link
window.location.href = "url.com/#top_div";
于 2012-09-12T16:35:30.920 に答える