单击链接时更改颜色

时间:2011-10-31 15:31:38

标签: php jquery html css

如果我在标题中设置了一个我用于大多数页面的菜单“include / header.php”我如何设置,所以当我点击链接时,它会转到该页面,并且该链接改变颜色(并显示为活动)? jquery会好吗?还是PHP?

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用PHP将类添加到当前按钮,方法是比较它的URL和$_GET的当前页面网址。在不知道你的网址结构是什么的情况下,我不能说更多。

例如,使用带有按钮文本和URL的数组:

$links = array('Home' => 'home', 'About' => 'about');

foreach($links as $text => $page)
{
    if($_GET['page'] == $page)
    {
        echo '<a href="/index.php?page=' . $page . ' class="current">' . $text . '</a>';
    }
    else
    {
        echo '<a href="/index.php?page=' . $page . '>' . $text . '</a>';
    }
}

此代码会在页面与current中的值匹配的按钮中添加$_GET类。这可能不完全符合您的需求,因为您可能有不同的URL结构,但它给出了基本的解释和如何执行此操作的示例。

答案 1 :(得分:2)

使用php,您可以在包含之前编写一个函数,如此,

function activeLink ($page) {
    if ($page = 'home') echo ' class="active"';
    elseif ($page = 'about') echo ' class="active"';
    elseif ($page = 'posts') echo ' class="active"';
}

在您的标头文件中,

echo '<a href="#"' . activeLink($page) . '>Home</a>
<a href="#"' . activeLink($page) . '>About</a>
<a href="#"' . activeLink($page) . '>Posts</a>';

在您的实际页面上;

$page = 'home';
include('header');

这样就可以了。