我正在尝试编写一个脚本,当用户点击链接时,页面将向下滚动到目标减去20px(即 - 如果我的目标位于[0,100],页面将滚动到[0,80]这个20px差异的原因是因为我的横幅位于我的网站上方20px高度的一层。
目前,我的方法是直接滚动到目标,然后从当前位置减去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);
});
答案 0 :(得分:1)
试试这个:
$('.link').click(function(e) {
e.preventDefault()
$(window).scrollTop($(window).scrollTop() - 20);
});
请注意,没有href
属性的锚链接无效。