我必须检查菜单中哪个列表点是活动的,我想知道在php中有没有办法?
<ul class="menu">
<li class="a">...</li>
<li class="b">...</li>
<li class="c">...</li>
</ul>
那么,我如何检查a是活动的,还是b或c,等等?
在我的例子中,我的意思是,我如何才能给你选择的<li>
一个class="..."
,但只有这一个。
发布于 2016-12-30 22:17:56
在紧要关头,你可以通过php会话来实现这一点,只要在菜单切换时设置一个变量即可。
会话变量应该设置在使用它的任何页面的顶部附近,这样PHP就可以在菜单加载到页面之前识别它。
这里有一小段灵感,你可以用很多不同的方法来完成。
<?
session_start();
if(isSet($_GET['switch'])) {
$_SESSION['menuPage'] = $_GET['switch'];
}
$menuPage = $_SESSION['menuPage'];
echo $menuPage."<br>";
?>
<ul class="menu">
<li <? if(strcmp($menuPage,"a") == 0) { echo "active"; } ?> class="a"><a href="?switch=a">A</a></li>
<li <? if(strcmp($menuPage,"b") == 0) { echo "active"; } ?> class="b"><a href="?switch=b">B</a></li>
<li <? if(strcmp($menuPage,"c") == 0) { echo "active"; } ?> class="c"><a href="?switch=c">C</a></li>
</ul>
注意:您希望使用会话而不是普通变量,这样菜单的$_GET就不必总是出现在URL中。
发布于 2016-12-30 22:33:41
您可能需要查看$_SERVER
变量,更具体地说是$_SERVER['REQUEST_URI']
。这将向您显示所请求的URL。在此基础上,您可以检查哪个菜单项应处于活动状态。
https://stackoverflow.com/questions/41397492
复制相似问题