我正在尝试编写一个脚本,当用户单击链接时,页面将向下滚动到目标 - 20px(即 - 如果我的目标位于 [0,100] 页面将滚动到 [0,80]。原因因为这 20 像素的差异是因为我在我的网站上方 20 像素高度的图层上放置了一个横幅。
目前,我的方法是直接滚动到我的目标,然后从我当前的位置减去 20px。我在确定我当前的 y 位置时遇到问题。
HTML:
<nav>
<a href="#chapterA" class="link">ChapterA</a>
<a href="#chapterB" class="link">ChapterB</a>
</nav>
...
<a name="chapterA">ChapterA</a>
<a name="chapterB">ChapterB</a>
jQuery:
$('.link').click(function() {
var currentY = 0; //how to get current y position?
window.scrollTo(0, currentY - 20);
});