函数scrollTo(id)中的jquery偏移量问题

函数scrollTo(id)中的jquery偏移量问题,jquery,html,css,offset,scrollto,Jquery,Html,Css,Offset,Scrollto,我在这个网站上工作: 这是一个单页网站,我使用scrollToid在这里查看代码: function scrollTo(id) { $('html, body').animate({scrollTop: $(id).offset().top - 50}, 1000); } 问题是,当你在主页顶部尝试按链接时,偏移量不起作用,几乎会使你低于你要求的分区页面。 但是如果你滚动到页面底部,按下一个链接,偏移量就像一个符咒,它会把你放在你要求的每个部分的顶部 您可以查看我的源代码,我有一个js.

我在这个网站上工作:

这是一个单页网站,我使用scrollToid在这里查看代码:

function scrollTo(id) { 
  $('html, body').animate({scrollTop: $(id).offset().top - 50}, 1000);
}
问题是,当你在主页顶部尝试按链接时,偏移量不起作用,几乎会使你低于你要求的分区页面。 但是如果你滚动到页面底部,按下一个链接,偏移量就像一个符咒,它会把你放在你要求的每个部分的顶部

您可以查看我的源代码,我有一个js.js文件,它应该显示我正在使用的所有函数,可能还有一些我没有注意到的错误。
真的需要你的帮助:!希望你能看到我做错了什么

我想是因为你的菜单

当您位于页面顶部时,菜单处于静态位置,这也意味着菜单的高度将添加到浏览器滚动到的像素计数中

但当浏览器向下滚动到该位置时,菜单将更改为固定位置,这意味着菜单的高度将从要滚动到的元素的顶部偏移量中减去

在代码方面,我只需将这一小块CSS添加到主体中

body.tiny { padding-top: 60px; }
假设60像素是菜单的高度。当菜单更改为固定位置时,高度将添加到车身填充中,并像以前一样向下推动内容


这样,当菜单将其位置更改为“固定”和“反转”时,您的滚动也会更加平滑。

您应该始终在问题中包含所有可能导致您的问题的代码,以便其他有相同问题的用户可以找到答案,即使您的网页脱机也可以记住您的选择器。试试{scrollTop:$+id.oOkay我会记住的:谢谢你的回答,但它不起作用。