2

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

我希望它是一个通用的解决方案。

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

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

谢谢,大卫

4

1 回答 1

0

: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);
}
于 2012-05-19T22:01:29.343 回答