2008-11-14 82 views
1

我目前正在爲Web應用程序的JS菜單工作。它由兩個條組成,它們是由Javascript函數激活的固定的主菜單和子菜單(顯示:從顯示屏中刪除:無)。通過onclick事件添加class =「main_on」和class =「sub_on」,主菜單的所選選項以及子菜單也會突出顯示。有沒有辦法記住哪個子菜單被顯示,當用戶點擊F5或頁面重新加載時哪些選項當前被分類爲活動?如果可能,我正在尋找非cookie和非數據庫方法。Javascript菜單記住位置

感謝,

邁克

回答

5

您可以點擊該鏈接/元素(onclick事件),在地址欄中設置的URL哈希值。 (即http://server.name/page#URLhash)如果它是一個鏈接,您只需調整HREF屬性,否則可能需要使用window.location進行操作。

這設置當前狀態。當頁面(重新)加載時,請檢查URL哈希的值。有關如何訪問它的詳細信息,請參閱http://developer.mozilla.org/en/DOM/window.location。只要網址哈希值仍在地址欄中,您就可以獲取該值。

然後使用該值確定要激活哪個菜單。因此你可以這樣恢復狀態。

瀏覽器之間有一些差異。在「Ajax歷史記錄」上進行搜索,其中有些人使用URL哈希來保存Ajax操作後的狀態。不是完全相同的問題,你正試圖解決但類似。退房RSH: http://code.google.com/p/reallysimplehistory/

將使用相同的想法。

+0

謝謝,我不知道#可以很容易地被JS操縱。 – 2008-11-26 11:46:43