javascript - 有固定导航栏时跳转到页面的不同部分

标签 javascript jquery html css

<分区>

所以我已经成功地让我的页面通过像这样引用 ID 的按钮跳转到页面上的不同部分

<button id="niftyBtn"><a href="#nifty">Things</a></button></br>
<div id="nifty">Blah</div>

我有几个,它们都转到了页面的正确部分。 问题是,页面中包含一个我无法更改的固定导航,并且各部分的顶部位于该导航栏后面而不是下方。

我曾尝试使用我看到的使用 .offset() 的 jquery 解决方案的几种不同变体,但没有一个是有效的。任何输入表示赞赏

注意:当我使用 jQuery 或 javascript 代替 href 标签跳转部分时,它的行为方式完全相同。

最佳答案

您不需要 javascript 解决方案,像这样简单的东西就可以了:

h2:before,h3:before,h4:before {
    content: " ";
    display: block;
    visibility: hidden;
    margin-top: -7em;
    height: 7em;
}

当然,这些是用于标题的,但您可以用类或 ID 代替以获得相同的效果。当然,必须修改测量结果。

顺便说一句,你为什么要使用 <button>包装一个 <a> ?该代码应该只是 <a href="#nifty">Things</a></br>如果您希望它看起来像一个按钮,请将其样式设置为按钮。

关于javascript - 有固定导航栏时跳转到页面的不同部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40919477/

上一篇:css - Flexbox 布局没有响应

下一篇:css - 如何在 WordPress 的 CSS 文件中添加 GIF 和 SVG 的 URL?

相关文章:

javascript - 无法在 Chrome 浏览器中查看我的下拉菜单,但是当我在此处插入代码时,我可以查看它。怎么会?

javascript - 如果图像高度超过图像宽度,通过裁剪图像的顶部和底部来垂直居中图像 - 仅使用 CSS 可能吗?

javascript - 使用数据属性定位元素并动态设置值

JQUERY自动轮播

jquery - 将 HTML 附加到父级中的第一个空 div

html - 如何获得悬停效果仅显示在链接上而不是容器的整个宽度

javascript - 如何替换窗口中的 PDF 内容?

javascript - 如何在 Angular 2+ 中使用第三方 js 库而不安装类型?

javascript - 从 HTML 表中检索特定行值并将其提交给 PHP

javascript - 在 beforeunload 上显示模态一段时间,然后离开页面?