2012-01-19 14 views
0

を保つ:Javascriptの変更をクリック上の色と同じ色

<li><a href="index.php" id="1" onclick="document.getElementById('1').style.background = '#8B4513';">Weblog</a></li> 

これは色が変化し、それが色はindex.php開きますので、同じ色に滞在しません。元の色に戻ります。

どうすれば別のページで同じ色にすることができますか?起動するには

おかげ

+1

*訪問したリンク*の色を参照していますか? – Joey

+0

簡単な解決方法は、そのような選択を追跡するためにクッキーを使用することです。新しいページが読み込まれると、フラグをチェックして色を設定できます。 –

+0

別のリンクをクリックした場合、前のリンクをクリックしても元の色に戻りますか?または「クリックされた」色を維持しますか? *訪問されたリンク*と*選択されたリンク*が異なる実装とエフェクトを持っているため、あなたの質問は少しだけ聞こえるからです。 – Joseph

答えて

0

、IDは数字で始めることはできません。

あなたは、サーバー側で選択したページをキャッチし、選択したように、それをクラスを与えるような何かを行うにCSSを使用する必要があります:あなたはPHPで選択されたページを設定する方法を見当もつかない場合

li.selected a 
{ 
    background: #8B4513; 
} 

を、記事を読む:http://darkstar-media.blogspot.com/2009/04/css-page-selected-with-php.html

+0

'id' *はHTML5の数字で始まるかもしれません。 –

+1

これは悪い癖なので、実際にはそうではありません。 – OptimusCrime

+0

答えをありがとう! :-) – Sino

1

提供されているコードから、ユーザーがリンクをクリックした後に要素のスタイルを設定しようとしているようです。

ここではJavascriptが不要です。私は単に:visited css擬似クラスを使用して要素のスタイルを設定します。

たとえば、

a:visited { text-decoration: line-through; } 
1

Javascriptはclientsideです。つまり、変更はユーザーの画面上で行われます。

PHPはサーバサイドです。サーバーに要求を送信し、要求を処理して出力を表示します。

現在のウェブページを強調表示したい場合は、これを行う方法ではありません。

私は、li a -listの各ファイルにPHPの行を追加することをお勧めします。例:

<?php if ($URL == 'index.php') echo 'class="selected"'; ?> 

そして、CSSを使用して、選択されたクラスのリンクを赤いものにします。

関連する問題