使用jQuery平滑滚动-滚动到其他页面上的ID哈希

时间:2019-07-05 18:38:01

标签: jquery smooth-scrolling

我正在使用此jQuery小代码进行平滑滚动。滚动应该在距顶部70像素处停止,并且滚动在同一页面上进行。但是,如果我在另一页上,并且单击指向另一页上ID的哈希的链接,滚动不会停留在70px左右,而是在顶部。

如何避免这种情况?

$(function() {
    const offset = 70;
    $('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 - offset
              }, 500);
              return false;
            }
          }
        });
      });

0 个答案:

没有答案