リンクが選択された後、色を変更します。色は変化していますが、選択したページがレンダリングされるとデフォルトの色に戻ります。私は、メイン(接触)の.phpファイルが、同じ内のコードを入れて試してみたページがレンダリングされた後にハイパーリンクのテキストの色を変更します。
<div class="navBar">
<a class="aNavBar" href="index.php">Home</a> <a class="aNavBar" href="about.php">About</a> <a class="aNavBar" href="galleries.php">Gallery</a> <a class="aNavBar" href="equipment.php">Equipment</a> <a class="aNavBar" href="links.php">Links</a> <a class="aNavBar" href="contact.php">Contact</a>
</div>
<script>
$(document).ready(function()
{
$('.navBar a').click(function()
{
var href = $(this).attr('href'); //location.href;
alert(href);
$(this).addClass('selected');
});
});
</script>
:選択が行われる
<!DOCTYPE html>
<html>
<?php
$Page = "Contact";
include 'header.php';
?>
<body>
<?php
include "facebook.php";
?>
<?php
include "headers.php";
?>
<?php
include "navBar.php";
?>
<?php
include "containers.php";
?>
<?php
include "footer.php";
?>
</body>
</html>
ナビゲーションバー:
PHPページは次のようになります事が起こっている。
これは予期された動作です。 DOMの変更はページの読み込み間では保持されません。状態を保存したい場合は、情報をどこかに(サーバーデータベース、ローカルストレージ、セッション、クッキーなど)保存し、その状態を取得して、将来ロードする各ページに適用する必要があります。 –
現在のページにリンクしているメニュー項目を強調表示したいだけなら、どこにでも "追加"情報を保存する必要はありません。その情報は既に$ _SERVERに含まれています。いくつかの研究を行ってください、これはまったく新しいトピックではありません。 https://www.google.com/search?q=php+menu+highlight+current – CBroe
通常、単純な解決策は、選択されたメニュー(クリックされたもの)を、クリックされたリンク(get変数として)に渡すことです。その後、PHPを介してそのメニュー項目にCSSクラスを設定します。 – xander