不是窗口跳转使锚定位于页面的顶部,我希望它位于页面顶部以下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/