我目前有下面的代码:的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