我正在尝试为我的网站制作滚动到相应<div>
的导航。相应的divs
嵌套在另一个div
内,其中包含max-height
和滚动条。那时我的jquery往往会让我失望。
他是我与我的问题相关的另一个问题的小提琴:JSFIDDLE
请注意,当您点击该按钮时,它不会滚动到正确的div
,并在再次点击时滚动到一个尴尬的位置。
如何让它滚动到正确的div并且在再次单击时不奇怪地向后滚动?谢谢!
答案 0 :(得分:3)
$(".third").offset().top)
在1108和0之间交替坐标。这些是每次点击前.third
的正确位置。您必须考虑当前滚动位置和.first
div的位置。
将scrollTop代码行替换为以下内容:
scrollTop: $(".third").position().top - $('div.nest').position().top + $('div.nest').scrollTop()},
答案 1 :(得分:0)
守则有效,似乎是填充/保证金问题。
只需在css中添加此行,它就应该有效:
* {paddin:0;margin:0}
/* tested on Chrome 39+ on Win7 */
此处更新了 fiddle
为什么它再次跳起来,希望很清楚。可以在此处找到“偏移”功能的文档:jQuery-Doc