我的网站中有一堆锚点,因为我使用的是jquery标签并链接到它们。但是,我想在单击链接时更改锚点聚焦屏幕的位置。我不关心它聚焦的地方,只要它比现在高得多,而不是直接在锚点之上。我需要这样做而不使用会破坏网站其他部分的东西,因为锚点周围都有内容。
锚点位于此处(tab1是锚点):
<div class="tab_container">
<div id="tab1" class="tab_content">
谢谢!
答案 0 :(得分:2)
试试这个:
$(function () {
$('a[href^="#"]').click(function(e){
e.preventDefault();
$('html,body').scrollTop($(this.hash).offset().top - 50);
});
});
a[href^="#"]
选择器将应用于所有a
代码,其href
属性以#
开头。
如果您需要更改滚动条所需的锚点之上的距离,请修改最后的- 50
。
如果你想要精美的页面滑动,你也可以将scrollTop包装在animate
中;)
$('html,body').animate({scrollTop: ($(this.hash).offset().top - 50)}, 500);