1

因为我使用 jquery 选项卡并链接到它们,所以我的站点中有一堆锚点。但是,当我单击链接时,我想更改锚点聚焦我的屏幕的位置。我真的不在乎它的焦点在哪里,只要它比现在高得多,而不是直接在锚的顶部。我需要在不使用会破坏站点其余部分的情况下执行此操作,因为锚点周围都有内容。

锚点在这里(tab1 是锚点):

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

谢谢!

4

1 回答 1

2

尝试这个:

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

选择a[href^="#"]器将应用于所有具有以开头a的属性的标签。href#

如果您需要更改希望滚动条在锚点上方的距离,请修改- 50最后的 。

jsFiddle在这里

animate如果你想要花哨的页面滑动,你也可以将 scrollTop 包裹起来;)

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

Slidey jsFiddle 在这里

于 2012-11-28T09:05:49.453 回答