web-dev-qa-db-ja.com

scrollTop jquery、IDでdivにスクロールしますか?

これは私が持っている現在のコードです

$(document).ready(function() {
    $('.abouta').click(function(){
        $('html, body').animate({scrollTop:308}, 'slow');
        return false;
    });
    $('.portfolioa').click(function(){
        $('html, body').animate({scrollTop:708}, 'slow');
        return false;
    });
    $('.contacta').click(function(){
        $('html, body').animate({scrollTop:1108}, 'slow');
        return false;
    });
});

リンクをクリックすると「abouta」は、ページの特定のセクションにスクロールします。私はむしろscrollToを実行し、次にdivのidを実行して、パディングなどを変更した場合にscrollToの位置を変更し続ける必要がないようにします。方法はありますか?ありがとう

33
Jake

の代わりに

$('html, body').animate({scrollTop:xxx}, 'slow');

つかいます

$('html, body').animate({scrollTop:$('#div_id').position().top}, 'slow');

これは、#div_idとして選択した要素の絶対上の位置を返します

103
jondavidjohn

私の解決策は次のとおりでした:

document.getElementById("agent_details").scrollIntoView();

これを試して:

$('html, body').animate({scrollTop:$('#xxx').position().top}, 'slow');
$('#xxx').focus();