2012-01-19 42 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使该类的链接选中红色。