搜尋
首頁web前端css教學如何使用現代瀏覽器在頁面重新載入時保留選單狀態?

How to Preserve Menu State on Page Reload using Modern Browsers?

頁面重新載入時保持選單狀態

問題陳述:

您有一個包含多個連結的選單,其中:

  • 懸停時,所選連結向右平移1.5em。
  • 點擊時,即使在頁面重新載入後,點擊的連結仍保持在翻譯位置,直到出現不同的連結。

解決方案:利用 localStorage

為了實現所需的選單行為,我們可以利用 HTML5 localStorage 來儲存和擷取所選連結的狀態。以下是逐步指南:

  1. 建立本地儲存變數:建立一個變數來儲存所選連結的 ID 或類別。例如:
<code class="js">const selectedLinkId = localStorage.getItem('selectedLinkId');</code>
  1. 頁面載入時更新選單:當頁面載入時,檢查 selectedLinkId 變數是否存在。如果是,請選擇對應的連結並套用翻譯後的位置:
<code class="js">if (selectedLinkId) {
  $(`#${selectedLinkId}`).addClass('hovered').siblings().removeClass('hovered');
}</code>
  1. 在連結點擊時儲存選單狀態:點擊連結時,儲存localStorage 變數的點擊連結的ID 或類別:
<code class="js">$('#menuLinks').on('click', function() {
  localStorage.setItem('selectedLinkId', $(this).attr('id'));
});</code>
  1. 頁面變更時清理: 如果要在不同頁面時重設選單狀態載入後,在pageshow 事件中加入事件偵聽器並清除localStorage 變數:
<code class="js">window.addEventListener('pageshow', function() {
  localStorage.removeItem('selectedLinkId');
});</code>

儲存位置的優點和缺點:

    • 本地儲存:
    • 優點:
    跨會話和瀏覽器標籤持續存在,可透過JavaScript 存取。
  • 缺點:儲存容量有限,使用者可以手動刪除資料。

    • 伺服器端:
    • 優點:
    無限儲存容量,更安全。

缺點:

需要額外的設定和檢索更複雜。 最終,最佳儲存位置取決於您的特定要求。 localStorage 是不需要大量儲存的持久性使用者設定的合適選項。

以上是如何使用現代瀏覽器在頁面重新載入時保留選單狀態?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
這麼多顏色鏈接這麼多顏色鏈接Apr 13, 2025 am 11:36 AM

最近有一系列有關顏色的工具,文章和資源。請允許我通過將它們四捨五之後關閉幾個標籤,以供您享受。

自動利潤在Flexbox中的工作方式自動利潤在Flexbox中的工作方式Apr 13, 2025 am 11:35 AM

羅賓以前已經介紹過這一點,但是我在過去的幾周里聽到了一些關於它的困惑,看到另一個人在解釋它,我想

移動彩虹移動彩虹Apr 13, 2025 am 11:27 AM

我絕對喜歡三明治網站的設計。在許多美麗的功能中,這些標題是滾動時帶有彩虹的下線。它不是

新年,新工作?讓我們做一個網格驅動的簡歷!新年,新工作?讓我們做一個網格驅動的簡歷!Apr 13, 2025 am 11:26 AM

許多流行的簡歷設計通過以網格形狀鋪設部分來充分利用可用的頁面空間。讓我們使用CSS網格創建一個佈局

將用戶擺脫過多習慣的一種方法將用戶擺脫過多習慣的一種方法Apr 13, 2025 am 11:25 AM

頁面重新加載是一回事。有時,當我們認為它沒有響應或認為新內容可用時,我們會刷新頁面。有時我們只是生氣

域驅動的設計與React域驅動的設計與ReactApr 13, 2025 am 11:22 AM

關於如何在React世界中組織前端應用的指導很少。 (只需移動文件,直到“感覺正確”,大聲笑)。真相

檢測非活動用戶檢測非活動用戶Apr 13, 2025 am 11:08 AM

大多數情況下,您並不真正在乎用戶是否積極參與或暫時非活動。不活躍,意思,也許他們

Wufoo ZapierWufoo ZapierApr 13, 2025 am 11:02 AM

Wufoo一直在集成方面非常出色。他們與特定應用程序(例如廣告系列顯示器,MailChimp和Typekit)進行集成,但他們也

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器