1

<?php requireステートメントを含む通常のページにリンクされている別のファイルにナビゲーションがあります。<li>メニューに、単語をグレーではなく白に変更するクラスがあります。要するに、私は持っています:

<li class="active">
   <a href="">Home</a>
</li> 

<li class="">
   <a href="">About</a>
</li>

active各ページが表示されているときと表示されていないときにクラスを変更する必要があります""。私はそれを行う方法がわからないのですか?

これが理にかなっていることを願っています。

アップデート:

コメントによると、私がやりたいことの概要をもう少し良くするのは良い考えだと思いました.

  1. ナビゲーション自体は、と呼ばれる別のファイル内にありますnavigation.php
  2. 実際のページは、ファイルのベースにあります。home, about, contact
  3. ページHomeが表示されているとき、クラスはそのメニュー項目にあるactive必要があります。<li>ページが表示されているとき、aboutクラスはそのメニュー項目にある必要があり、メニュー項目クラスはhome空白である必要があります。
4

3 に答える 3

0

これは実際には非常に簡単です。

<li>メニューのそれぞれに一意の ID を追加します

次に、jQuery window.onfocus トリガーを使用して、このスクリプトを各ページ (ホーム、概要、連絡先) に配置します。

window.onfocus = document.getElementById('indexNav').className=" active";

各ページに合わせて要素 ID を変更します。

したがって、ホームページには次のようなものがあります。ID の indexNav

About ページでは、id は aboutNav のようになります。

于 2013-07-11T23:58:25.500 に答える
0

私はこれがあなたが探していたものだと思います、私はそれをテストしました、

<style>
.active{
color:white !important;
}
<style>
<script>
var links = document.getElementsByTagName('a');
for (var i = links.length - 1; i >= 0; i--) {
    if(links[i].href==this.location) links[i].parentNode.setAttribute('class','color');
};
</script>

リンクのタイトルが場所と同じ名前である必要はありません。

于 2013-07-12T00:23:02.910 に答える