0

現在のアンカーを選択して、1 ページ サイトのすべてのセクションに表示する方法はありますか? たとえば、私のすべてのページ (ホーム/連絡先/ショップなど) は、水平スクロール レイアウトの 1 つのページにあります。アンカーを選択すると、現在のアンカーが強調表示されますが、ページの次のセクションにスクロールしたときにそのアンカーが強調表示されたままになりません。代わりに強調表示され、スクロールが始まるとアンカーの強調表示が消えます。私が使用しているコードは次のとおりです。

$('#nav a').click(function() {
alert($(this).attr('href'));
});

jquery ui を使ってやろうかと思ったのですが、この操作だけではちょっとやり過ぎのようです。したがって、同じページ内のアイテムの現在のアンカーを強調表示しますが、別のセクションにスクロールすると、強調表示されたままになります。考え?

前もって感謝します

4

2 に答える 2

1

アンカーをクリックしたときに発生するデフォルトのフォーカスオンオーバーレイについて話していると思いますか?

代わりに、現在アクティブなセクションにクラスを追加するのはどうですか:

$("#nav a").click(function() {
    var self = $(this), className = "active";
    self.addClass(className).siblings("."+className).removeClass(className);
    ...
});

関連する可能性があるため、この回答も確認することをお勧めします。この回答が役に立たない場合は、 jsFiddleでテスト ケースを作成して、問題をさらに詳しく説明することをお勧めします。

于 2012-04-23T15:09:28.687 に答える
0

このような?

JS:

$('#nav a').click(function(){
    $('#nav a').removeClass('highlighted');
    $(this).addClass('highlighted');
});

CSS:

.highlighted {
    background: #ffffeo;
}
于 2012-04-23T15:09:45.277 に答える