2012-01-19 87 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

簡單的解決方案是使用cookie來跟蹤這種選擇。在加載新頁面時,您可以檢查標誌並設置顏色。 –

+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是客戶端,這意味着任何更改都會以某種方式在用戶的屏幕上發生。

PHP是serverside。您向服務器發送請求,它處理請求並顯示輸出。

如果你想突出顯示當前網頁,這不是做到這一點的方法。

我建議你在li a -list中的每個文件上添加一行PHP。例如:

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

並使用CSS使該類的鏈接選中紅色。