2012-02-17 72 views
2

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

我创建了一个JavaScript文件来运行和读取数据,当用户点击链接。此功能设置与李

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,但页面必须再次刷新。所以如果我点击首页,页面会加载选中的学生。当页面被刷新时,它会加载所选的主页。

我试图在Home和Log上使用enactHome()和encatLog(),但没有成功。我究竟做错了什么?请帮助;/

感谢, 弗朗切斯科

回答

0

你可以给你的菜单项和每个页面的身体给独特id S和用CSS做。
我不明白为什么要使用cookie并经历所有这些麻烦。我可能会错过一些东西。

HTML

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

CSS

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

主要是因为该网页作为每一页的标头中使用一次。所以说,我有这个包含标识,菜单和顶级内容的HEADER页面,包含主要内容的CONTENT页面和包含页脚区域的FOOTER页面。 – Necron 2012-02-18 14:33:44