我在一个设置了hidden
溢出的
标签中有很多
section
标签。代码大致如下:
<div id="viewport">
<section>
content
</section>
<section>
content
</section>
</div>
我这样设置是因为我想在菜单中按下相应链接时能够滚动到包含在 div
中的 sections
。我有这个函数:
$('#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);
当我尝试用$('section, #viewport')
代替$('body,html')
时,它只会在div内滚动,但无法正常滚动。这使整个页面都滚动。
我有一个实时示例here。我认为这可能与.offset()
或我传递给.animate()
有关,但我已经尝试了许多不同的方法,但都没有成功。请问有人可以指点我方向或告诉我我做错了什么吗?
e.preventDefault()
,但是因为某些原因我认为它可能会影响到其他部分,所以把它删掉了。不幸的是,你提出的解决方案也没有起作用。 - ayypsectionHeight
并查看你得到什么? - ShankarSangoli