【发布时间】:2018-01-29 15:33:42
【问题描述】:
我正在更改链接被选中后的颜色。颜色正在发生变化,但是当所选页面呈现时,它会返回到默认颜色。
php 页面如下所示:
<!DOCTYPE html>
<html>
<?php
$Page = "Contact";
include 'header.php';
?>
<body>
<?php
include "facebook.php";
?>
<?php
include "headers.php";
?>
<?php
include "navBar.php";
?>
<?php
include "containers.php";
?>
<?php
include "footer.php";
?>
</body>
</html>
进行选择的导航栏:
<div class="navBar">
<a class="aNavBar" href="index.php">Home</a> <a class="aNavBar" href="about.php">About</a> <a class="aNavBar" href="galleries.php">Gallery</a> <a class="aNavBar" href="equipment.php">Equipment</a> <a class="aNavBar" href="links.php">Links</a> <a class="aNavBar" href="contact.php">Contact</a>
</div>
<script>
$(document).ready(function()
{
$('.navBar a').click(function()
{
var href = $(this).attr('href'); //location.href;
alert(href);
$(this).addClass('selected');
});
});
</script>
我尝试将代码放入 main (contact).php 文件,但同样的事情正在发生。
【问题讨论】:
-
这是预期的行为。页面加载之间不会保留 DOM 更改。如果要保存状态,则需要将信息存储在某处(服务器数据库、本地存储、会话、cookie 等),然后检索该状态并将其应用于您将来加载的每个页面。
-
如果您只想突出显示链接到当前页面的菜单项,则无需在任何地方存储任何“附加”信息 - 该信息已包含在 $_SERVER 中。请去做一些研究,这并不是一个新话题。 google.com/search?q=php+menu+highlight+current
-
一个简单的解决方案通常是将选定的菜单(被点击的菜单)传递给被点击的链接(作为获取变量),然后通过 PHP 在该菜单项上设置一个 CSS 类。