jQuery跳到100px以上的锚点

时间:2012-05-19 21:53:01

标签: javascript jquery html css

而不是窗口跳转使锚点位于页面顶部,我希望它比页面顶部低100px。我不想动画,我宁愿它没有跳过两次。

我希望它是一般解决方案。

这是我尝试的但它似乎不起作用......

$("a.inpage").click(function (e) {
    e.preventDefault();
    $(":target").each(function () {
        var targetpos = $(this).position();
        var scrollpos = targetpos.top - 100;
        window.scrollTo(0,scrollpos);
    })
}

谢谢, 大卫

1 个答案:

答案 0 :(得分:0)

:目标CSS3选择器匹配哪个id是URL的一部分。但是您正在使用ev.preventDefault(),因此您不会关注该链接并且URL不会更改

最好像做

一样
$("a.inpage").click(function (e) {
    e.preventDefault();
    var targetpos = $($(this).attr('href')).position(); // note this line
    var scrollpos = targetpos.top - 100;
    window.scrollTo(0,scrollpos);
}