メニューボタンに「アクティブ」クラスを設定するためにこのテクニックを試していると思います。
これはもちろん Javascript で行うことができますが、それが最善の方法であるとは思えません。
JavaScript の例: (jQuery の助けを借りて)
$(function() {
var bodyId = $('body').attr('id');
$('#menu li') // find li tags in the menu list
.removeClass('here') // remove previous occurance of 'here'
.find('li.'+ bodyId) // find li with className equals to the body's 'id'
.addClass('here'); // add the 'here' class to that Li tag.
});
私がしたことの1つは、本体を使用しid
てLIのクラスとしても存在するかどうかを確認し、「here」クラスを追加することでした。(id
ボディに複数のクラスが存在する可能性があるため、を使用しました。その場合、どのクラスかを知ることは不可能です。)
可能なより良い方法:
どうやら現在のページを タグに として既に書いているclass
ようですbody
(これはサーバー側のコードを介して自動的に行われると思いますか? php? asp? java?...) それを書くことができれば、追加することができますメニューの論理テストも同様です。
たとえば、メニュー項目をループする場所では、その特定のメニュー項目が要求されている現在のページと同じかどうかをテストできます。次に、here
クラスをliに出力します。そして、あなたのcssだけが必要です li.here { /* current page styles */ }