带有jQuery和溢出div的ScrollTop

带有jQuery和溢出div的ScrollTop,jquery,overflow,scrollto,Jquery,Overflow,Scrollto,我遇到了一个问题,试图在带有溢出的div中创建一个滚动到 我在菜单中创建了五个部分和五个链接。当我点击菜单中的链接时,我希望它是正确的div 我所做的内容链接: 有时它显示正确(当您直接单击第一个或最后一个链接时),但有时显示的内容是内容的中间部分 如何解决此问题?更新了您的代码(克隆副本): 请注意,您需要考虑容器的当前滚动 var scrollTop = jQuery('#' + gethash).offset().top + jQuery('.content').scrollTop()

我遇到了一个问题,试图在带有溢出的div中创建一个
滚动到

我在菜单中创建了五个部分和五个链接。当我点击菜单中的链接时,我希望它是正确的div

我所做的内容链接:

有时它显示正确(当您直接单击第一个或最后一个链接时),但有时显示的内容是内容的中间部分

如何解决此问题?

更新了您的代码(克隆副本):

请注意,您需要考虑容器的当前滚动

 var scrollTop = jQuery('#' + gethash).offset().top + jQuery('.content').scrollTop() - 25;

25由于您在容器上使用了边距,因此需要减去.contents的scrollTop()以获得正确的位置


由于分区的位置随每个滚动条的变化而变化,因此您希望对正在设置动画的属性使用
+=

检查这把小提琴。我还将
bind
更改为
on
上的
,并使用了数据属性,而不是尝试拆分类名以查找节


他确实这么做了(链接显示的是testcase),但这显然不起作用。在FF中,这根本不能正确滚动元素。@Ohgod为什么只是在FF中尝试了这一点,而且它的工作方式与预期的一样(每个链接都会滚动到相应的内容块名称之前)。什么不象你期望的那样工作?我真的无法解释为什么它会这样做…但是。如果您从上到下单击每个链接,然后再次尝试单击第一个链接,大约需要3-4次单击,然后滚动到第四个项目,然后返回到第一个项目。它在第四次点击后对任何元素都会这样做,不要问我为什么。FF13.0.1.FF13.0.1这里也是,我在这里看不到这种行为(每次单击都会一致地转到相应的项目),非常感谢。我已经在IE8/9、Chrome、Firefox和Opera中进行了测试。工作完美。