Ответ 1
вместо
$('html, body').animate({scrollTop:xxx}, 'slow');
использование
$('html, body').animate({scrollTop:$('#div_id').position().top}, 'slow');
это вернет абсолютную верхнюю позицию любого элемента, который вы выбрали как #div_id
Итак, это текущий код, который у меня есть
$(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 и т.д. Есть ли способ? Благодаря
вместо
$('html, body').animate({scrollTop:xxx}, 'slow');
использование
$('html, body').animate({scrollTop:$('#div_id').position().top}, 'slow');
это вернет абсолютную верхнюю позицию любого элемента, который вы выбрали как #div_id
попробуйте следующее:
$('html, body').animate({scrollTop:$('#xxx').position().top}, 'slow');
$('#xxx').focus();
если вы хотите прокрутить только несколько div, можете использовать div id вместо 'html, body'
$('html, body').animate(...
использование
$('#mydivid').animate(...
попробуйте это
$('#div_id').animate({scrollTop:0}, '500', 'swing');