jQuery - 滚动到锚点的最佳方法'对于同一页面和新页面

时间:2016-05-13 19:50:33

标签: jquery

我正在使用jQuery + jQuery UI,目前有以下代码: -

$(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;
      }
    }
  });
});

当滚动到同一页面时,我得到滚动效果,但是如果我加载新页面,它不会滚动到该部分,例如从/ home /到/ about /#section3

如何在同一页面锚点上使用此功能并在加载新页面时滚动到锚点?

1 个答案:

答案 0 :(得分:1)

我无法发表评论(由于声誉)。

您是否尝试过此解决方案:Smooth scroll to anchor after loading new page

我在项目中使用它并且工作正常。只需看看答案的评论;)