Подтвердить что ты не робот

ScrollTop jquery, прокрутка до 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, а затем id div, чтобы мне не пришлось менять позицию scrollTo, если я меняю padding и т.д. Есть ли способ? Благодаря

4b9b3361

Ответ 1

вместо

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

использование

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

это вернет абсолютную верхнюю позицию любого элемента, который вы выбрали как #div_id

Ответ 2

попробуйте следующее:

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

Ответ 3

если вы хотите прокрутить только несколько div, можете использовать div id вместо 'html, body'

$('html, body').animate(...

использование

$('#mydivid').animate(...

Ответ 4

попробуйте это

    $('#div_id').animate({scrollTop:0}, '500', 'swing');