我有一段久经考验的代码,它一直对我很有效,但我正在尝试一些新的东西。我没有使用主体的滚动位置,而是有一个 div,其 ID#main
具有 auto 溢出。
我遇到的问题是,当您单击页面链接(从#main
div 内部或外部)时,页面会移动但不会移动到正确的位置。什么可能导致此问题
$('.scrollto').click(function() {
var elementClicked = $(this).attr("href");
var destination = $(elementClicked).offset().top;
$("#main:not(:animated)").animate({ scrollTop: destination} );
return false;
});
这#main
是CSS:
#main {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: auto;
height: auto;
z-index: 2;
overflow: auto;
overflow-x: hidden;
background: #fff;
-webkit-overflow-scrolling: touch;
}
编辑
在@Moje 的一点帮助下,我在这里重新创建了这个问题:http: //codepen.io/anon/pen/xbLyJ
单击“单击我以转到目标 1”链接。在该部分中,您将看到另一个指向目标 2 的链接。单击该链接,它不会完全转到正确的 ID。如果您继续单击相同的链接,则每次执行此操作时页面都会上下移动。