2012-02-17 71 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