我正在尝试制作一个nav,它可以滚动到我的站点的相应<div>。相应的divs嵌套在另一个带有max-height和滚动条的div中。这就是我的jquery往往会让我失败的时候。
他是我提到的另一个问题的替罪羊:JSFIDDLE
请注意,当您单击该按钮时,它不会滚动到正确的div,再次单击时,它会滚动到一个不方便的位置。
我如何让它滚动到正确的div,而不是再次单击时奇怪地回滚?谢谢!
发布于 2014-11-23 16:53:21
单击时,$(".third").offset().top)会在1108和0之间交替坐标。这些是每次单击之前.third的正确位置。您必须考虑当前滚动位置和.first分区的位置。
scrollTop: $(".third").position().top - $('div.nest').position().top + $('div.nest').scrollTop()},发布于 2014-11-23 16:40:31
代码起作用了,这似乎是一个填充/边际问题。
只需在css中添加下面这一行,它就可以工作了:
* {paddin:0;margin:0}
/* tested on Chrome 39+ on Win7 */这里是更新后的
为什么它会再次跳起来,希望是清楚的。"offset“函数的文档可以在这里找到:jQuery-Doc
https://stackoverflow.com/questions/27086655
复制相似问题