2

アンカーがページの上部にあるようにウィンドウ ジャンプする代わりに、ページの上部から 100 ピクセル下に配置したいと思います。私はアニメートしたくありません。

一般解でお願いしたいです。

これは私が試したものですが、うまくいかないようです...

$("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 に答える