javascript - 链接到同一页面上的 anchor 减去一些像素

标签 javascript jquery html css

我将平滑滚动集成到页面的 anchor 中。它与代码配合得很好:

$(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),所以它与内容重叠了一点。 我能以某种方式解决这个问题吗?就像在代码中说的那样:滚动到那个 anchor 减去 100px ... 我认为它可能适用于

scrollTop: target.offset(-100).top

是这样吗?

最佳答案

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

scrollTop: target.offset().top - 100

关于javascript - 链接到同一页面上的 anchor 减去一些像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38007742/

相关文章:

javascript - AJAX 调用和更新查询无法正常运行

html - 卡在粘性页脚 CSS 问题上

javascript - 让相同的 JS 为不同的部门元素工作

javascript - 通过 jquery 函数循环,其结果在循环外处理

javascript - 在创建警报按钮后再次调用 javascript onclick ?

Javascript html替换标签不起作用

javascript - 尝试使用 HTML5 和 ajax 上传文件

javascript - 当主干 View 被渲染时得到通知

javascript - 如何在 Ember 3.8 中调用嵌套的 ember 组件

javascript - 通过 ajax 调用 fancybox - 在哪里放置选项?