У меня довольно много тегов 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);
});
, которую я использую для изменения размера #viewport
div, потому что sections
имеют разные размеры.Когда я пытаюсь поместить эту часть прокрутки в эту функцию:
$('body,html').animate({scrollTop: $(aHref).offset().top}, 800);
она выполняет прокрутку всей страницы.Когда я пытаюсь заменить $('body,html')
на $('section, #viewport')
, он прокручивается внутри div, но не делает этого должным образом.
У меня есть живой пример этого здесь .Я предполагаю, что это как-то связано с .offset()
или с тем, что я передаю в .animate()
, но я пробовал несколько разных вещей, но безрезультатно.Может кто-нибудь указать мне правильное направление или сказать, что я сделал не так?