我目前有下面的代碼:的Javascript改變顏色,並保持相同的顏色
<li><a href="index.php" id="1" onclick="document.getElementById('1').style.background = '#8B4513';">Weblog</a></li>
這改變了顏色,但因爲它打開的index.php顏色不會停留在相同的顏色。它返回到原來的顏色。
我怎樣才能保持它在不同的頁面相同的顏色?
謝謝
我目前有下面的代碼:的Javascript改變顏色,並保持相同的顏色
<li><a href="index.php" id="1" onclick="document.getElementById('1').style.background = '#8B4513';">Weblog</a></li>
這改變了顏色,但因爲它打開的index.php顏色不會停留在相同的顏色。它返回到原來的顏色。
我怎樣才能保持它在不同的頁面相同的顏色?
謝謝
要開始,一個ID不能以數字開頭。
你必須趕上在服務器端所選擇的頁面,並給它一個類等中選擇並使用CSS做這樣的事情:如果你不知道如何設置PHP所選擇的頁面
li.selected a
{
background: #8B4513;
}
,閱讀這篇文章:http://darkstar-media.blogspot.com/2009/04/css-page-selected-with-php.html
從提供的代碼看來,你似乎試圖風格的元素,一旦用戶點擊鏈接。
Javascript似乎不必要。我只是使用:visited css僞類來設計元素。
例如;
a:visited { text-decoration: line-through; }
Javascript是客戶端,這意味着任何更改都會以某種方式在用戶的屏幕上發生。
PHP是serverside。您向服務器發送請求,它處理請求並顯示輸出。
如果你想突出顯示當前網頁,這不是做到這一點的方法。
我建議你在li a
-list中的每個文件上添加一行PHP。例如:
<?php if ($URL == 'index.php') echo 'class="selected"'; ?>
並使用CSS使該類的鏈接選中紅色。
你指的是*訪問過的鏈接*的顏色嗎? – Joey
簡單的解決方案是使用cookie來跟蹤這種選擇。在加載新頁面時,您可以檢查標誌並設置顏色。 –
如果我點擊另一個鏈接,我點擊的上一個鏈接會回到原來的顏色嗎?或保留它的「點擊」顏色?因爲*訪問過的鏈接*和*選定的鏈接*有不同的實現和效果 - 並且您的問題聽起來有點兩者。 – Joseph