页面重新加载时保持菜单状态
问题陈述:
您有一个包含多个链接的菜单,其中:
- 悬停时,所选链接向右平移 1.5em。
- 单击时,即使在页面重新加载后,单击的链接仍保持在翻译位置,直到出现不同的链接。
解决方案:利用 localStorage
为了实现所需的菜单行为,我们可以利用 HTML5 localStorage 来存储和检索所选链接的状态。以下是分步指南:
- 创建本地存储变量:创建一个变量来存储所选链接的 ID 或类。例如:
<code class="js">const selectedLinkId = localStorage.getItem('selectedLinkId');</code>
- 页面加载时更新菜单:页面加载时,检查 selectedLinkId 变量是否存在。如果是,请选择相应的链接并应用翻译后的位置:
<code class="js">if (selectedLinkId) { $(`#${selectedLinkId}`).addClass('hovered').siblings().removeClass('hovered'); }</code>
- 在链接单击时保存菜单状态:单击链接时,保存localStorage 变量的单击链接的 ID 或类:
<code class="js">$('#menuLinks').on('click', function() { localStorage.setItem('selectedLinkId', $(this).attr('id')); });</code>
- 页面更改时清理: 如果要在不同页面时重置菜单状态加载后,向 pageshow 事件添加事件侦听器并清除 localStorage 变量:
<code class="js">window.addEventListener('pageshow', function() { localStorage.removeItem('selectedLinkId'); });</code>
存储位置的优点和缺点:
-
本地存储:
- 优点:跨会话和浏览器选项卡持续存在,可通过 JavaScript 访问。
- 缺点:存储容量有限,用户可以手动删除数据。
-
服务器端:
- 优点:无限存储容量,更安全。
- 缺点:需要额外的设置和检索更复杂。
最终,最佳存储位置取决于您的具体要求。 localStorage 是不需要大量存储的持久用户设置的合适选项。
以上是如何使用现代浏览器在页面重新加载时保留菜单状态?的详细内容。更多信息请关注PHP中文网其他相关文章!

Goofonts是由开发人员和设计师丈夫签名的附带项目,它们都是版式的忠实拥护者。我们一直在标记Google

学习如何构建GraphQL API可能具有挑战性。但是您可以学习如何在10分钟内使用GraphQL API!碰巧的是,我得到了完美的

这里是Yuanchuan的一些合法CSS骗局。有此CSS属性偏移路径。曾几何时,它被称为Motion-Path,然后被更名。我


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver Mac版
视觉化网页开发工具