gpt4 book ai didi

php - 如何根据当前页面/网址获得 ="selected"类

转载 作者:太空狗 更新时间:2023-10-29 13:21:54 25 4
gpt4 key购买 nike

这是我的第一篇文章,因为我是网络开发领域的新手,所以请原谅。

通常,当我尝试创建一个网站时,我会创建一个名为 header.html 和 footer.html 的文件,这样我就可以在所有页面中仅更改一次数据,而不是在许多 html 文件中使用多个相同的标题。并将它们与每页的内容和 php 代码一起包含在一个 php 文件中。

现在我的问题是因为我只有 1 个标题,css 的设计方式是无论当前菜单/选项卡是什么,它都会被标记为“已选择”,这样用户就可以清楚地知道他们当前是什么页面中。

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

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

<!--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--!>

谢谢你:)

最佳答案

如果您正在寻找一种非 javascript/php 方法...

首先,您需要确定应将哪个导航链接设置为事件链接,然后添加selected 类。代码看起来像这样

PHP 文件中的 HTML

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

<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>

PHP 函数

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

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

if ($current_file_name == $requestUri)
echo 'class="selected"';
}
?>

关于php - 如何根据当前页面/网址获得 ="selected"类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15774962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com