Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在php中包含边栏,并在边栏中为当前页面使用不同的颜色?_Javascript_Php - Fatal编程技术网

Javascript 如何在php中包含边栏,并在边栏中为当前页面使用不同的颜色?

Javascript 如何在php中包含边栏,并在边栏中为当前页面使用不同的颜色?,javascript,php,Javascript,Php,在我的网站上,每个页面都有相同的侧边栏,它只是指向每个页面的链接。我不是在每个页面上写同样的东西,而是使用一个文件“sidebar.html”,然后用php将其包含到每个页面中: <?php include 'sidebar.html'; ?> 现在我想在侧边栏中使用与任何其他页面名称不同的颜色显示当前页面的名称。我使用JavaScript完成了以下操作: 1.通过特定id获取当前页面名称 2.将名为“active”的新id设置为此名称,在css中,“active”将获得新颜色

在我的网站上,每个页面都有相同的侧边栏,它只是指向每个页面的链接。我不是在每个页面上写同样的东西,而是使用一个文件“sidebar.html”,然后用php将其包含到每个页面中:

<?php include 'sidebar.html'; ?>

现在我想在侧边栏中使用与任何其他页面名称不同的颜色显示当前页面的名称。我使用JavaScript完成了以下操作: 1.通过特定id获取当前页面名称 2.将名为“active”的新id设置为此名称,在css中,“active”将获得新颜色

我想知道是否有其他解决方案可以获得相同的结果,或者是否有不使用JavaScript的解决方案


谢谢大家!

您可以用
sidebar.php
文件替换
sidebar.html
,只需使用php变量即可;例如,您可以在当前页面中定义一个表示当前ID的变量,并在
sidebar.php
中使用它来确定哪个链接应该是活动的

,您可以用
sidebar.php
文件替换
sidebar.html
,只需使用php变量即可;例如,您可以在当前页面中定义一个表示当前ID的变量,并在
侧边栏.php
中使用它来确定哪个链接应该处于活动状态

您可以将html文件更改为php文件并传递参数


然后,在新的
sidebar.php
中,获取参数并相应地定义活动类。

您可以将html文件更改为php文件并传递参数


然后,在新的
sidebar.php
中,获取参数并相应地定义活动类。

建议使用php变量的其他答案是一种方法。另一方面,您可以不使用PHP或JavaScript,只使用纯CSS来实现这一点

首先,在
标记或其他高级包装上用类名指示当前页面

<body class="contact-page">

另一个答案建议使用PHP变量是实现这一点的一种方法。另一方面,您可以不使用PHP或JavaScript,只使用纯CSS来实现这一点

首先,在
标记或其他高级包装上用类名指示当前页面

<body class="contact-page">

我会这样做:

$links = array();
$links['subdir1/page1.html'] = 'Page 1';
$links['subdir2/page2.html'] = 'Page 2';
$links['subdir3/page3.html'] = 'Page 3';
sidebar.php

$links = array();
$links['page1.html'] = 'Page 1';
$links['page2.html'] = 'Page 2';
$links['page3.html'] = 'Page 3';

$curr_page = basename($_SERVER['PHP_SELF']);

foreach($links as $k=>$v)
{
    echo '<a href="'.$k.'"';
    if($curr_page === $k)
    {
        echo ' class="active_link"';
    }
    echo '>'.$v.'</a>';
}

我会这样做:

$links = array();
$links['subdir1/page1.html'] = 'Page 1';
$links['subdir2/page2.html'] = 'Page 2';
$links['subdir3/page3.html'] = 'Page 3';
sidebar.php

$links = array();
$links['page1.html'] = 'Page 1';
$links['page2.html'] = 'Page 2';
$links['page3.html'] = 'Page 3';

$curr_page = basename($_SERVER['PHP_SELF']);

foreach($links as $k=>$v)
{
    echo '<a href="'.$k.'"';
    if($curr_page === $k)
    {
        echo ' class="active_link"';
    }
    echo '>'.$v.'</a>';
}

在内部使用.php文件,让php生成一个包含随机颜色的小内联
块。在内部使用.php文件,让php生成一个包含随机颜色的小内联
块。