链接到href'时如何使用javascript偏移量;s在HTML文档中
How can I use a javascript offset when linking to href's in HTML document?
我正在构建一个网站,在我的页面顶部有一个35像素高的固定位置菜单栏。在这个菜单中,我有四个项目链接到页面的各个部分。当我点击链接时,页面会跳转到该部分,但35像素的菜单栏覆盖了文本的顶部。
我如何修改这个网站,以便当我跳到一个部分时,它不会将我链接到HTML文档的确切部分,而是高出35像素以考虑静态菜单栏?
我用href代码:来做这件事
<a href="#links"><li>Links</li></a>
<h1><a name="links">Links</a></h1>
谢谢!
编辑:菜单条形码
<div id="top-floating-bar"> <!-- Menubar -->
<div class="row">
<div class="column grid_12">
<div class="fixed-bar-buttons">
<ul>
<a href="#top"><li>Home</li></a>
<a href="#links"><li>Links</li></a>
<a href="#resume"><li>Resume</li></a>
<a href="#social"><li>Social</li></a>
</ul>
</div>
</div>
</div>
</div> <!-- End the Menubar -->
描述
您可以使用jQuery .offset()
和.scrollTop()
函数
与tguidon讨论后更新
我不知道你的top-floating-bar
css是如何定义的,但我知道你想要什么。小提琴上菜单栏的大小不对,因为我不知道你的定义。
查看jSFiddle
样品
Html
<head>
<script src="jquery-1.5.1.min.js" type="text/javascript"></script>
<script type="text/javascript"><
$(function() {
$(".goto").click(function() {
var target = $(this).attr("href")
target = target.substring(1,target.length);
$(window).scrollTop($('a[name="'+target+'"]').offset().top - 35);
return false;
});
});
</script>
</head>
<div id="top-floating-bar"> <!-- Menubar -->
<div class="row">
<div class="column grid_12">
<div class="fixed-bar-buttons">
<ul>
<a href="#top" class="goto"><li>Home</li></a>
<a href="#links" class="goto"><li>Links</li></a>
<a href="#resume" class="goto"><li>Resume</li></a>
<a href="#social" class="goto"><li>Social</li></a>
</ul>
</div>
</div>
</div>
</div> <!-- End the Menubar -->
<br><br><br><br><br>
<a name="top"/> Top Section
<br><br><br><br><br><br><br><br>
<a name="links"/> Links Section
<br><br><br><br><br><br><br><br>
<a name="resume"/> Resume Section
<br><br><br><br><br><br><br><br>
<a name="social"/> Social Section
<br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br>
更多信息
- jQuery.scrollTop()
- jQuery.offset()
假设您的菜单栏有一个类menubar
,您可以尝试以下操作:
$('.menubar a').click(function() {
var y = $('a[name="'+$(this).attr('href').replace('#', '')+'"]').offset().top - 35;
$(window).scrollTop(y);
return false;
});
如果你想变得有趣,你可以使用http://demos.flesler.com/jquery/scrollTo/它内置了一个"偏移"选项。
相关文章:
- 添加新数据时D3.JS条形图列偏移量
- 当偏移量改变时滚动顶部
- 引导数据偏移量底部
- 可以在调整窗口大小时重新调整stellar.js的元素偏移量
- 可滚动元素,如何在调整大小时更改顶部偏移量
- 使用JavaScript日期的任何时间的时区偏移量
- 时刻时区:UTC 偏移量差异
- jQuery偏移量顶部没有'工作不正常
- 如何获取当前时区偏移量(并正确格式化)
- d3.mouse 偏移量返回的值不正确
- jQuery根据鼠标位置计算DIV偏移量和边界
- 更改 for 循环中 SVG 行的笔触虚线偏移量
- 时区偏移量计算
- jquery 如何设置偏移量 () 值
- 在javascript中向本地时间戳添加时间戳偏移量
- jquery ui draggable中的奇怪偏移量
- 如何在发布JavaScript日期对象时保留时区偏移量
- 使用js获取与html源代码相关的选定html元素偏移量
- 链接到href'时如何使用javascript偏移量;s在HTML文档中
- window.getSelection()与HTML标签的偏移量