如何使用window.location.hash添加偏移量

时间:2014-04-15 11:25:38

标签: jquery html hash

我使用此功能。

window.location.hash = "Home"

我想要做的是,当锚转到具有id Home的div时,我希望得到比div更高的顶部位置。

任何人都可以帮我添加一个偏移,例如在div开始的地方加上20px。

由于

1 个答案:

答案 0 :(得分:2)

您可以尝试使用offsetTop

一个简单的例子:

$(document).ready(function(){
    $('a[href^="#"]').bind('click.smoothscroll',function (e) {
        e.preventDefault();

        var target = this.hash,
        $target = $(target);

        $('html, body').stop().animate({
            'scrollTop': $target.offset().top-40
        }, 900, 'swing', function () {
            window.location.hash = target;
        });
    });
});

请注意$target.offset().top-40

这意味着它将使用margin-top: -40px重定向到div。

http://1stwebmagazine.com/jquery-scroll-to-anchor-point

DEMO