2012-04-23 19 views
0

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

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

私はそれを行うにはjqueryのUIを使用する方法について考えていたが、それは少し多すぎるだけで、この操作を行っているようです。同じページの項目の現在のアンカーを強調表示しますが、強調表示されている別のセクションにスクロールすると強調表示されます。思考?事前に

おかげで

答えて

1

は、私はあなたがアンカーをクリックしたときに起こるフォーカスのデフォルトのオーバーレイについて話していると思いますか?

どう代わりに、現在アクティブなセクションにクラスを追加する方法について:

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

あなたはまた、それが関連している可能性があるためthis answerをチェックすることをお勧めします。この回答が役に立たなかった場合は、問題の詳細を説明するために、jsFiddleにテストケースを作成することをお勧めします。

+0

はい、これは、私が達成したいものに非常に近い、ほぼ死んでいる - しかし、私はそれを適用する方法を考え出すに苦しみました垂直にスクロールするには、コードがそこにあります。あなたがリンクしているものとの関係で –

0

このようにしますか?

JS:

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

CSS:

.highlighted { 
    background: #ffffeo; 
} 
+0

こんにちは私はそれをunfrotuantelyに働かせることができませんでした、おそらく私はその実装を誤解しています。ここにサイトがあります:http://sekhu.net/charlie2/index.php現在のセレクタがアクティブであることがわかりますが、ページがスクロールするとすぐに消えますか? –

+0

1つのページに複数の同じidを持つことはできません。もしそうなら、JavaScriptが面白く動作することを期待してください。 – wanovak

+0

私は見る - どのように問題を改善するつもりですか?私はあなたが提供し、指導できるどんな洞察にも感謝します。ありがとうございました。 –

関連する問題