jquery设置滚动动画,但不在id所在的确切位置,因为我的导航固定在顶部

jquery设置滚动动画,但不在id所在的确切位置,因为我的导航固定在顶部,jquery,html,css,animation,scroll,Jquery,Html,Css,Animation,Scroll,基本上,这是一个带有固定标题的单页网站,顶部带有导航,当向下滚动或单击导航时,明显具有高度并覆盖顶部。这是我在这里得到的jquery脚本 $(document).ready(function() { $('ul.navigation').on('click', 'a', function(e) { e.preventDefault(); $('html, body').animate({ scrollTop: $( $.attr(this,

基本上,这是一个带有固定标题的单页网站,顶部带有导航,当向下滚动或单击导航时,明显具有高度并覆盖顶部。这是我在这里得到的jquery脚本

$(document).ready(function() {
$('ul.navigation').on('click', 'a', function(e) {       
      e.preventDefault();
      $('html, body').animate({
        scrollTop: $( $.attr(this, 'href') ).offset().top
      }, 2000);
   });
});

一切都很好,除了当我点击导航时,它会在特定的ID上滚动,但是当然,有ID的元素,例如h1,被标题覆盖,因为标题位于页面的最顶部。如何在ID所在的滚动动画上调整并至少添加185px(固定标题的大小)。非常感谢

只需更新脚本即可添加额外空间

$('html, body').animate({
    scrollTop: ($( $.attr(this, 'href') ).offset().top - 185)
  }, 2000);

这是一篇来自

的文章,我想你可以参考我的博客文章

从javascript获取标题高度

var from = $("#header").height();
使用下面的动画代码

$('html, body').animate({
        scrollTop: $( $.attr(this, 'href') ).offset().top - from
      }, 2000);

请参见FIDDLE

您能创建一个链接吗?我想您需要这个链接,非常感谢!这就是我需要的。