1

jqueryタブを使用してリンクしているので、サイトにたくさんのアンカーがあります。ただし、リンクをクリックしたときにアンカーが画面のフォーカスを合わせる場所を変更したいと思います。アンカーの真上ではなく、現在よりもはるかに高い限り、どこに焦点を合わせるかはあまり気にしません。アンカーの周りにはコンテンツがあるので、サイトの他の部分を混乱させるようなものを使用せずにこれを行う必要があります。

アンカーはここにあります(tab1はアンカーです):

<div class="tab_container">
<div id="tab1" class="tab_content">

ありがとう!

4

1 に答える 1

2

これを試して:

$(function () { 
    $('a[href^="#"]').click(function(e){        
        e.preventDefault();
        $('html,body').scrollTop($(this.hash).offset().top - 50);
    });
});

a[href^="#"]セレクターは、で始まる属性を持つすべてのタグに適用されaます。href#

スクロールバーをアンカーからどれだけ上に配置するかを変更する必要がある場合は- 50、最後にあるを変更します。

ここにjsFiddle

animate派手なページスライドが必要な場合は、scrollTopをラップすることもできます;)

$('html,body').animate({scrollTop: ($(this.hash).offset().top - 50)}, 500);

SlideyjsFiddleはこちら

于 2012-11-28T09:05:49.453 に答える