如何使用散列标签(“一个名字”)去页面上的位置,但在顶部说明一个固定的元素
How use hash tag ("a name") to go to spot on page but account for a fixed element at top?
在网站上,顶部有一个菜单栏,它是position: fixed
和height: 4em;
。当我单击一个散列链接<a href="#someName">go to</a>
时,它会移动页面,将<a name="someName"></a>
放置在窗口的顶部,这意味着它位于顶部栏的下方,并被部分隐藏。我该如何解释?
http://jsfiddle.net/x3gr8s8z/
HTML:
<div class="topbar"></div>
<br /><br /><br /><br /><br />
<a href="#link">click me</a>
<a name="link"></a>
Going to here
CSS:
.topbar
{
position: fixed;
width: 100%;
height: 4em;
background-color: #cccccc;
}
您可以捕获hashchange事件并将窗口向下滚动固定元素的高度。
window.addEventListener('hashchange', function() {
window.scrollBy(0, -40);
});
你可以使用而不是40
document.querySelector('.topbar').getClientBoundingRect().height
相关文章:
- 为什么我在 webpack 中需要 html 文件时会得到一个位置字符串
- Caret函数没有'如果插入符号在最后一个位置,就不能正常工作
- 是否可以将一个元素还原为它's上一个位置,而不将该位置作为参数传递
- 对jQuery UI可排序表应用包含可以防止将高行移动到最后一个位置
- 使用javascript和php,在单击图像时将其移动到另一个位置
- 创建从一个位置到另一个位置的路径动画
- 如何滚动到DIV顶部表格的最后一个位置(项目10)
- 将HTML元素的位置更改为另一个位置javascript
- 在站点的另一个位置运行 java 脚本
- 咖啡脚本数组查找下一个位置
- 如何将我的 Google 地图功能从自动查找我的位置更改为让我输入一个位置
- 当现有 Google 标记移动到另一个位置时,如何更新新的纬度和经度
- 使用 jquery 或 javascript 从一个位置导出 excel 文件
- 默认情况下,在 angularjs 中选择下拉列表中的最后一个位置显示占位符
- 如何将另一个 JSON 中的 JSON 对象移动到最后一个位置
- 用户在谷歌地图上标记一个位置
- 离开悬停后如何将P标签保持在上一个位置
- 使用jQuery单击时将元素移动/复制到另一个位置
- 将排序数组的数组元素移动到具有特殊逻辑的另一个位置
- 如何淡出图像,然后使其出现在jquery中的另一个位置