确定窗口的当前Y-Pos

时间:2012-06-19 20:52:13

标签: javascript jquery html

我正在尝试编写一个脚本,当用户点击链接时,页面将向下滚动到目标减去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);
});

1 个答案:

答案 0 :(得分:1)

试试这个:

$('.link').click(function(e) {
  e.preventDefault()
  $(window).scrollTop($(window).scrollTop() - 20);
});

请注意,没有href属性的锚链接无效。