Jquery 平滑滚动的粘性导航正在跳跃

Jquery 平滑滚动的粘性导航正在跳跃,jquery,header,navigation,sticky,smooth-scrolling,Jquery,Header,Navigation,Sticky,Smooth Scrolling,我有各种各样的问题与坚持导航和顺利滚动。我只是对jQuery了解不够,无法进行故障排除。我使用的是来自Chris Coyer的平滑滚动片段:。我的页面在这里: 以下是我的问题: 对于任何导航项目,它都会部分滚动,然后跳转到该位置。我很确定这是因为我不知道如何解释粘性头,所以我把锚放高了一点来解释锚的高度。因此,它到达锚并停止,但随后跳转到正确的视图 单击“后退”按钮时,它似乎并不总是指向正确的位置-有时它是非常随机的。我认为这与问题1有关,希望它能自行解决。我甚至可以一起删除浏览器历史记录/后退

我有各种各样的问题与坚持导航和顺利滚动。我只是对jQuery了解不够,无法进行故障排除。我使用的是来自Chris Coyer的平滑滚动片段:。我的页面在这里:

以下是我的问题:

  • 对于任何导航项目,它都会部分滚动,然后跳转到该位置。我很确定这是因为我不知道如何解释粘性头,所以我把锚放高了一点来解释锚的高度。因此,它到达锚并停止,但随后跳转到正确的视图
  • 单击“后退”按钮时,它似乎并不总是指向正确的位置-有时它是非常随机的。我认为这与问题1有关,希望它能自行解决。我甚至可以一起删除浏览器历史记录/后退按钮,但正如我所说,作为JQuery大师,我还不足以知道要删除什么
  • 有什么建议吗


    提前谢谢

    1.使用来自的有关平滑的注释的代码 滚动帖子。加上我加了一点减法来弥补 你的粘头。适应自己的喜好

    // your functions go here 
    $('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 - 181
                }, 1000);
                return false;
            }
        }
    });
    
    2。将所有定位点移动到要滚动到的实际元素

    (参考号:)