Javascript jQuery跳转到锚点上方的100px

Javascript jQuery跳转到锚点上方的100px,javascript,jquery,html,css,Javascript,Jquery,Html,Css,与窗口跳转不同的是,锚点位于页面顶部,我希望它位于页面顶部以下100px。我不想做动画,我更希望它不要跳两次 我希望这是一个普遍的解决办法 这是我尝试过的,但似乎不起作用 $("a.inpage").click(function (e) { e.preventDefault(); $(":target").each(function () { var targetpos = $(this).position(); var scrollpos = t

与窗口跳转不同的是,锚点位于页面顶部,我希望它位于页面顶部以下100px。我不想做动画,我更希望它不要跳两次

我希望这是一个普遍的解决办法

这是我尝试过的,但似乎不起作用

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

:目标CSS3选择器匹配作为URL一部分的id的元素。但是您使用的是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);
}

:target CSS3选择器匹配作为URL一部分的id的元素。但是您使用的是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);
}

什么是目标?选择器?在jQuery API上找不到它什么是:目标?选择器?在jQuery API上找不到它如果我还想在单击后的URL中显示“#名称”呢?如果我还想在单击后的URL中显示“#名称”呢?