如何更改锚点位置

时间:2012-11-28 08:23:47

标签: jquery html hyperlink position anchor

我的网站中有一堆锚点,因为我使用的是jquery标签并链接到它们。但是,我想在单击链接时更改锚点聚焦屏幕的位置。我不关心它聚焦的地方,只要它比现在高得多,而不是直接在锚点之上。我需要这样做而不使用会破坏网站其他部分的东西,因为锚点周围都有内容。

锚点位于此处(tab1是锚点):

<div class="tab_container">
<div id="tab1" class="tab_content">

谢谢!

1 个答案:

答案 0 :(得分:2)

试试这个:

$(function () { 
    $('a[href^="#"]').click(function(e){        
        e.preventDefault();
        $('html,body').scrollTop($(this.hash).offset().top - 50);
    });
});

a[href^="#"]选择器将应用于所有a代码,其href属性以#开头。

如果您需要更改滚动条所需的锚点之上的距离,请修改最后的- 50

jsFiddle here

如果你想要精美的页面滑动,你也可以将scrollTop包装在animate中;)

$('html,body').animate({scrollTop: ($(this.hash).offset().top - 50)}, 500);

Slidey jsFiddle here