链接到同一页面上的Anchor减去一些像素

时间:2016-06-24 07:18:59

标签: javascript jquery html css

我将平滑滚动集成到我的页面的锚点。它适用于代码:

$(function() {
      $('a[href*="#"]:not([href="#"])').click(function() {
        if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
          var target = $(this.hash);
          target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
          if (target.length) {
            $('html, body').animate({
              scrollTop: target.offset().top
            }, 1000);
            return false;
          }
        }
      });
    });

现在,当我点击链接时,它会滚动到该位置。但是由于我在顶部有一个固定的菜单栏(高度:100px),它与内容重叠了一点。 我能以某种方式修复此问题吗?比如在代码中说:滚动到该锚点减去100px ... 我认为它可能适用于

scrollTop: target.offset(-100).top

是吗?

1 个答案:

答案 0 :(得分:1)

jQuery的offset是一个只给你一个元素偏移量的函数。这并不意味着改变偏移本身。之后只需减去100px。

scrollTop: target.offset().top - 100