私は1ページのWebサイトで作業しています。ユーザーがメニュー項目をスクロールまたはクリックすると、メニュー項目が強調表示されます。1ページのサイトでナビゲーションを自動選択する
私は現在しようとしている方法は次のとおりです。
<nav>
<div class="menu">
<ul>
<li><a href="#about">About</a></li>
<li><a href="#what">What I Do</a></li>
<li><a href="#work">Work</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
</nav>
私はこのjQueryのをしようとしているが、CSSで.selected
をアクティブにしていないようですか?
$(function(){
var path = location.pathname.substring(1);
if (path)
$('nav a[href$="' + path + '"]').attr('class', 'selected');
});
CSS
.selected {
color: #f9b950;
font-weight: bold;
}
おかげ
ありがとうございました。Robとxdazzですが、私はまだそれに多くの運がありません。私はFirefoxで上記を試しましたが、何も変わっていないように見えましたが、Safariで変更を適用すると、ページのコードはすべてhttp://pastebin.com/9wMisKDLのようになります – Nsokyi
@Nsokyi私は自分の答えを編集しましたハッシュ変更の検出を含めることができます。私はスクロールリクエストを実装しませんでした。なぜなら、それは潜在的にユーザーエクスペリエンスに悪影響を及ぼします。 'scroll'イベントを' window'に束縛し、各要素がビューポート内にあるかどうかを['.offset()']で調べなければなりません。(http://api.jquery.com/offset/ )。 –
ああ、私は、一種の参照してください...これは、私はちょっとあなたがこれらの人はそれも間違っていると思いますか? http://kiskolabs.com/#home(私は対立しようとしていません。私はあなたの考えを見ることに興味があります)ありがとう – Nsokyi