php - 菜单页面状态

标签 php javascript jquery

所以,我有一个使用 UL 和 LI 的 jquery 菜单。我想要一个页面状态,以便通过在菜单项上保持悬停状态向用户显示他所在的页面。

我创建了一个 javascript 文件来在用户单击链接时运行并读取数据。此函数使用从 li 检索到的文本数据设置一个 cookie

function setCookie(name, value, days) {
    var expireDate = new Date()
    //set "expstring" to either future or past date, to set or delete cookie, respectively
    var expstring=(typeof days!="undefined")? expireDate.setDate(expireDate.getDate()+parseInt(days)) : expireDate.setDate(expireDate.getDate()-5)
    document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; path=/";
    }

        function enact(what){                
             var value = $(what).text()                 
             setCookie("selected", value, 60)
        }

        function enactHome(){
             setCookie("selected", "Home", 60)
        }

        function enactLog(){
             setCookie("selected", "Log", 60)
        }</pre>

然后我有以下内容(读取cookie,如果它与文本相同,则设置样式):

<ul id="nav">
    <li onclick="enact(this);" <?php if($_COOKIE["selected"] == "Home"){ echo "class='navselected'"; }?> ><a href="index1.php">Home</a></li>

<li onclick="enact(this);" <?php if($_COOKIE["selected"] == "Student"){ echo "class='navselected'"; }?>><a href="#">Student</a>
                        <ul>
                            <li onclick="enact(this);"><a href="add_student.php">Add Student</a></li>
                            <li onclick="enact(this);"><a href="edit_student.php">Edit/Delete Student</a></li>                              
                        </ul>
                    </li>

<li onclick="enact(this);" <?php if($_COOKIE["selected"] == "User Log"){ echo "class='navselected'"; }?>><a href="log.php">User Log</a></li>    
</ul>                       

现在的问题是,学生链接在加载页面时起作用,并在 css 中设置菜单状态和背景。其他人确实设置了css,但页面必须再次刷新。因此,如果我单击主页,页面将加载所选学生。刷新页面时,它会加载所选主页。

我尝试在主页和日志上使用 enactHome() 和 encatLog(),但没有成功。我究竟做错了什么?请帮忙;/

谢谢, 弗朗切斯科

最佳答案

您可以为您的菜单项和每个页面的正文提供唯一的 id,并使用 css 实现。
我不明白为什么要使用 cookie 并经历所有这些麻烦。我可能遗漏了什么。

html

<body id="page-about">
.
.
.
<ul>
    <li><a id="menu-about"></a></li>
</ul>

CSS

#page-about #menu-about { background: red; }

关于php - 菜单页面状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9335933/

相关文章:

Jquery Mobile 水平按钮

javascript - 点击外部时如何关闭侧边栏?

php - 全文搜索中的 MySql SQL_CALC_FOUND_ROWS 问题

php - 使用Curl传输SSL编码的字符串

javascript - 不要重复显示和隐藏字段的最佳实践

javascript - 如何添加到 React 中的嵌套数组?

php - 服务器发送的事件挂起浏览器

php - 使用 PHP 的 Http 空响应

javascript - 需要学习高级 Javascript 概念的指导

jquery - 使用 jQuery 自动编号标题 H1-H6