为了账号安全,请及时绑定邮箱和手机立即绑定

页面刷新后的 PHP 活动部分

页面刷新后的 PHP 活动部分

PHP
浮云间 2023-09-22 14:47:11
我正在尝试用 PHP 创建一页导航菜单。我希望它在 PHP 中的原因是因为我可以稍后添加其他代码,并且我希望用户即使在刷新后也能位于同一页面上。我有一个包含生成列表项的无序列表。列表项是用数组生成的。(我希望将键/值分开,因为实际代码会有所不同。这只是一个示例。)$nav = array(       "home" => "home",       "about" => "about",       "contact" => "contact");echo '<ul>';foreach( $nav as $id => $name ){    echo '<li><a href="#'.$id.'">'.$name.'</a></li>';}echo '</ul>';// outputs:<ul>   <li><a href="#home">home</a></li>   <li><a href="#about">about</a></li>   <li><a href="#contact">contact</a></li></ul>然后我想要一些 div 作为部分foreach( $nav as $s_id => $s_name){    echo '<div id="'.$s_id.'">Some section text</div>';}现在我需要知道如何根据当前活动 ID 将显示设置为阻止或无?
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

虽然我个人认为这更多是 JavaScript 的工作,但在上面的问题和评论中,您指定要在 PHP 中执行此操作。在这种情况下,这些锚标记将需要是页面的实际链接。在本示例中,我假设该页面名为index.php. (如果有不同,请使用您的页面。)


使用查询字符串参数将锚点更新为指向页面的链接:


<li><a href="index.php?active=home">home</a></li>

<li><a href="index.php?active=about">about</a></li>

<li><a href="index.php?active=contact">contact</a></li>

然后,在 PHP 代码中,您可以通过active查询字符串参数确定哪一个是“活动的”。如果没有指定参数,则从默认值开始"home"(这是用户第一次访问该页面):


$active = "home";

if (isset($_GET["active"])) {

    $active = $_GET["active"];

}

然后在渲染<div>元素时您可以指定它们的样式:


foreach( $nav as $s_id => $s_name)

{

    echo '<div id="'.$s_id.'" style="display:'.($s_id == $active ? "block" : "none").'">Some section text</div>';

}


查看完整回答
反对 回复 2023-09-22
  • 1 回答
  • 0 关注
  • 50 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信