用于自动滚动的偏置锚

时间:2012-06-13 03:16:11

标签: javascript jquery anchor

我目前正在使用css-tricks中的代码来执行自动滚动功能到我的锚点:

http://css-tricks.com/snippets/jquery/smooth-scrolling/

我需要做什么才能抵消“页面顶部”?基本上我想让页面从锚点位置停止大约150px ..

感谢!!!!

2 个答案:

答案 0 :(得分:1)

更改行:

var targetOffset = $target.offset().top;

为:

var targetOffset = $target.offset().top - 150;

这会比你目标的顶部向上推进150个像素。

关于哈希:

更改此内容:location.hash = target;

要:

if(history.pushState) {
    history.pushState(null, null, target);
}
else {
    location.hash = target;
}

答案 1 :(得分:1)

混乱的部分在这里:

location.hash = target;

将其删除,然后改为使用this

history.pushState({}, "", "#"+target);

如果不支持pushState,则可以使用History.js