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

标签 jquery html css offset scrollto

我正在这个网站上工作:Website

这是一个单页网站,我在其中使用 scrollTo(id) 请参阅此处的代码:

function scrollTo(id) { 
  $('html, body').animate({scrollTop: $(id).offset().top - 50}, 1000);
}

问题是,当您在主页顶部尝试按链接时,偏移量不起作用,并且几乎位于您要求的部分(页面)下方。 但是如果你滚动到页面底部,然后点击一个链接,偏移量就像一个魅力,它会让你正好在你要求的每个部分的顶部。

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

最佳答案

我认为这是因为你的菜单。

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

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

就代码而言,我会简单地将这一小段 CSS 添加到正文中。

body.tiny { padding-top: 60px; }

假设60像素是菜单的高度。当菜单更改到固定位置时,高度将添加到 body 的内边距,像以前一样将内容向下推。

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

关于jquery - 函数 scrollTo(id) 中的 jquery 偏移问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26117975/

相关文章:

css - 如何在 ubuntu 中使用网络字体(?)

javascript - 嵌入式 YouTube 视频上的自定义链接

javascript - jQuery 脚本不会在 Tumblr 主题中加载

javascript - 使用 JQuery 将 JSON 项目添加到 HTML 列表

c# - WPF WebBrowser (3.5 SP1) Always on top - 在 WPF 中显示 HTML 的其他建议

html - 在 div 中垂直居中表单

javascript - 编辑 "prefers-color-scheme"值以强制使用暗模式

jquery - 使标题像谷歌浏览器移动应用程序地址栏一样

javascript - 检测午夜和重置数据的最佳方法

html - 过渡属性背景图像不适用于 Firefox(使用前缀)