因为我使用 jquery 选项卡并链接到它们,所以我的站点中有一堆锚点。但是,当我单击链接时,我想更改锚点聚焦我的屏幕的位置。我真的不在乎它的焦点在哪里,只要它比现在高得多,而不是直接在锚的顶部。我需要在不使用会破坏站点其余部分的情况下执行此操作,因为锚点周围都有内容。
锚点在这里(tab1 是锚点):
<div class="tab_container">
<div id="tab1" class="tab_content">
谢谢!
尝试这个:
$(function () {
$('a[href^="#"]').click(function(e){
e.preventDefault();
$('html,body').scrollTop($(this.hash).offset().top - 50);
});
});
选择a[href^="#"]
器将应用于所有具有以开头a
的属性的标签。href
#
如果您需要更改希望滚动条在锚点上方的距离,请修改- 50
最后的 。
animate
如果你想要花哨的页面滑动,你也可以将 scrollTop 包裹起来;)
$('html,body').animate({scrollTop: ($(this.hash).offset().top - 50)}, 500);