У меня есть несколько тегов section
в div с переполнением, установленным на hidden
. Код соответствует следующим строкам:
<div id="viewport">
<section>
content
</section>
<section>
content
</section>
</div>
Я настроил это так, потому что хочу прокручивать sections
, содержащийся в div
, когда в меню нажата соответствующая ссылка. У меня есть эта функция:
$('#mn a').click(function(){
var aHref = $(this).attr("href");
var sectionHeight = $('section'+aHref+'').height();
$('#viewport').height(sectionHeight);
});
Что я использую для изменения размера div #viewport
, потому что sections
имеют разные размеры. Когда я пытаюсь поместить эту часть прокрутки в эту функцию:
$('body,html').animate({scrollTop: $(aHref).offset().top}, 800);
он прокручивает всю страницу. Когда я пытаюсь заменить $('body,html')
на $('section, #viewport')
, он прокручивается внутри div, но он не делает это правильно.
У меня есть живой пример этого здесь. Я предполагаю, что это имеет какое-то отношение к .offset()
или к тому, что я передаю в .animate()
, но я пробовал несколько разных вещей, но безрезультатно. Может ли кто-нибудь указать мне в правильном направлении или сказать мне, что я сделал неправильно?