不是窗口跳转使锚定位于页面的顶部,我希望它位于页面顶部以下100px。我不想做动画,我宁愿它不要跳两次。
我希望这是一个普遍的解决办法。
这是我试过的,但似乎不起作用。。。

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

谢谢,
大卫

最佳答案

:target 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);
}

关于javascript - jQuery跳到 anchor 上方100px,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10669109/

10-12 13:02