嵌套<div> </div>的Jquery滚动函数

时间:2014-11-23 07:35:50

标签: javascript jquery html css

我正在尝试为我的网站制作滚动到相应<div>的导航。相应的divs嵌套在另一个div内,其中包含max-height和滚动条。那时我的jquery往往会让我失望。

他是我与我的问题相关的另一个问题的小提琴:JSFIDDLE

请注意,当您点击该按钮时,它不会滚动到正确的div,并在再次点击时滚动到一个尴尬的位置。

如何让它滚动到正确的div并且在再次单击时不奇怪地向后滚动?谢谢!

2 个答案:

答案 0 :(得分:3)

单击时,

$(".third").offset().top)在1108和0之间交替坐标。这些是每次点击前.third的正确位置。您必须考虑当前滚动位置和.first div的位置。

将scrollTop代码行替换为以下内容:

scrollTop: $(".third").position().top - $('div.nest').position().top + $('div.nest').scrollTop()},

http://jsfiddle.net/pyL62v58/3/

答案 1 :(得分:0)

守则有效,似乎是填充/保证金问题。

只需在css中添加此行,它就应该有效:

* {paddin:0;margin:0}
/*  tested on Chrome 39+ on Win7 */

此处更新了 fiddle

为什么它再次跳起来,希望很清楚。可以在此处找到“偏移”功能的文档:jQuery-Doc