如何使class ="selected"取决于当前页面/ url是什么

Git*_*idd 9 html javascript css php html5

这是我的第一篇文章,原谅我在网络开发领域的新篇章.

通常,当我尝试创建一个网站时,我创建了一个名为header.html和footer.html的文件,这样我只在所有页面中更改一次数据,而不是在许多html文件上有多个相同的标题.并将它们全部包含在php文件中,以及每页显示的内容和php代码.

现在我的问题是因为我只有1个标题,css的设计方式无论当前菜单/标签是什么,它都会被标记为"已选择",这样就可以向用户显示它们当前所在的页面.

我的问题是如何解决这个问题:

1.)class="selected"取决于当前页面/网址是什么.

<!--Menu Starts-->
        <div class="menu">
            <div id="smoothmenu" class="ddsmoothmenu">
                <ul>
                    <li><a href="index.php" class="selected">Home</a></li>
                    <li><a href="about.php">About</a> </li>
                    <li><a href="services.php">Services</a> </li>
                    <li><a href="features.php">Features</a></li>
                    <li><a href="#">Support</a>
                        <ul>
                            <li><a href="support1.php">Support 1</a></li>
                            <li><a href="support2.php">Support 2</a></li>
                         </ul>
                    </li>
                </ul>
             </div>
        </div>
<!-- Menu Ends--!>
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

Chr*_*ray 13

如果你正在寻找一个非javascript/php方法......

首先,您需要确定应将哪个导航链接设置为活动,然后添加所选类.代码看起来像这样

php文件中的HTML

<a>在链接目标请求uri中传递的超链接标记内部调用php函数

<ul>
    <li><a href="index.php" <?=echoSelectedClassIfRequestMatches("index")?>>Home</a></li>
    <li><a href="about.php" <?=echoSelectedClassIfRequestMatches("about")?>>About</a> </li>
    <li><a href="services.php" <?=echoSelectedClassIfRequestMatches("services")?>>Services</a> </li>
    <li><a href="features.php" <?=echoSelectedClassIfRequestMatches("features")?>>Features</a></li>
    <li><a href="#">Support</a>
        <ul>
            <li><a href="support1.php" <?=echoSelectedClassIfRequestMatches("support1")?>>Support 1</a></li>
            <li><a href="support2.php" <?=echoSelectedClassIfRequestMatches("support2")?>>Support 2</a></li>
         </ul>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

PHP功能

php函数只需要比较传入的请求uri,如果它与正在渲染的当前页面匹配,则输出所选择的

<?php
function echoSelectedClassIfRequestMatches($requestUri)
{
    $current_file_name = basename($_SERVER['REQUEST_URI'], ".php");

    if ($current_file_name == $requestUri)
        echo 'class="selected"';
}
?>
Run Code Online (Sandbox Code Playgroud)