平滑页面滚动 - 首先单击滚动到错误的位置。第二个链接工作正常

时间:2016-10-06 18:48:45

标签: javascript jquery css scroll smooth-scrolling

使用CSS Tricks Smooth Page Scroll代码,我们刚刚注意到,当您第一次点击导航链接时,它会向下滚动,但不会到达它应该的位置,比预期的部分高出700px。任何后续点击工作都很好,这是第一个奇怪的导航点击。

我已经尝试过window.load,因为我已经读过在用户第一次点击时可能没有加载所有页面元素,但这没有帮助。

jQuery版本:1.12.4 / jquery.min.js

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

1 个答案:

答案 0 :(得分:1)

我无法重新创建您描述的问题。平滑滚动将转到页面上的相应部分。