我正在使用Bootstrap构建rails应用程序,但顶部固定的导航栏隐藏了我通过附加到url的哈希锚点跳转到的内容。基本上我有同样的问题,因为这篇文章解释:Fixed position navbar obscures anchors,我试图用我在github上找到的以下js代码解决这个问题:
$(document).ready(function(){
var shiftWindow = function() { scrollBy(0, -50) };
if (location.hash) shiftWindow();
window.addEventListener("hashchange", shiftWindow);
});
单击页面内链接跳转到锚点时工作正常但是当我单击另一个页面中的链接尝试重定向到网址中包含哈希的页面时失败,例如从http://mysite.com/
到http://mysite.com/posts/1#comment-5
。
我无法弄清楚上面的js代码出了什么问题。请帮忙,谢谢!
答案 0 :(得分:-1)
我遇到了同样的问题,我发现最简单的解决方案是将锚点包装在 section 标签中,然后将CSS表单更改为:
section {
display: block;
padding-top: 40px;
}
然后你不需要任何js,当你从另一个页面跳转到那个部分id时它会起作用。