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(),但沒有成功。我究竟做錯了什麼?請幫助;/
感謝, 弗朗切斯科
主要是因爲該網頁作爲每一頁的標頭中使用一次。所以說,我有這個包含標識,菜單和頂級內容的HEADER頁面,包含主要內容的CONTENT頁面和包含頁腳區域的FOOTER頁面。 – Necron 2012-02-18 14:33:44