【问题标题】:The links in my navigation bar are not showing as "current" when they are active我的导航栏中的链接在它们处于活动状态时未显示为“当前”
【发布时间】:2013-05-20 01:02:28
【问题描述】:

我为水平导航栏中的活动/当前链接设置了不同的背景颜色。当一个链接被点击并且该特定页面打开时,它应该显示不同的颜色(如在“主页”链接中)但它没有发生。

请帮忙。我希望我已经清楚地描述了自己。网址是:http://www.successrealization.com

我想要的示例:- 在我的另一个站点 http://healthsewa.org/my-site/portfolio.html 上,它正在以我想要的方式正常发生。我不知道怎么做。代码几乎一样。

【问题讨论】:

  • 您似乎没有为其他链接正确设置class="current"
  • 离开主页选项卡时出现的弹出窗口可能不是必需的。它不会出现在任何其他选项卡中。您的网站运行良好,这就是为什么我提到弹出道歉窗口可能是不必要的,并且会引起更多的烦恼,而不是值得。只是建议,不是抱怨,好吗?
  • 类似但不重复的问题stackoverflow.com/questions/11382664/…接受的答案可能对您的具体询问有所帮助。
  • 非常感谢,Feral Oink。我现在将其删除。实际上,当我提出这个问题时,我的网站正在建设中。谢谢你提醒我。
  • @ExplosionPills:我必须为所有链接设置 class="current" 吗?因为当我也为其他链接设置 class="current" 时,即使我不在该页面上,它们也会显示为绿色。喜欢主页链接始终是最新的。但我不希望每个链接都这样。

标签: html css


【解决方案1】:

我认为您正在寻找的是一种让页面检测它所在的“标签”的方法。这实际上不会神奇地发生。您需要以某种方式保存单击的选项卡,以便在回发所选选项卡后将其设置为当前或活动。

如果您只担心现代浏览器,您可以使用 localStorage 来做到这一点。您也可以使用 cookie 来执行此操作。

以下是使用 localStorage 设置变量的示例:

localStorage.setItem('tab', 'set ur tab index etc here');

单击选项卡时,您将执行上述操作。在页面加载时,您会反过来获得标签索引。

localStorage.getItem('tab');

使用 jQuery 或 js 根据您设置/获取的索引设置选项卡处于活动状态。

编辑:设置一个 jsfiddle,如果你愿意,我会完成这个例子。

【讨论】:

  • 嘿!在这个示例页面中 - link 它没有任何 cookie 或本地存储设置。我不知道那里是怎么发生的。几乎是一样的代码。
  • 我目前无法调查,但通常它是以下 cookie、localStorage、会话变量、单页站点之一。在单页站点中,它不会回发,因此您可以将其存储在普通的 ol' js var 中。
【解决方案2】:

您可以删除当前的家庭课程并为您单击的选项卡添加当前课程。比如当你点击 About ---> 将当前类添加到该锚标记并 Home ---> 从锚标记中删除当前类。

您可以使用 addClass 和 removeClass 方法动态添加和删除类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 2021-06-06
    • 1970-01-01
    相关资源
    最近更新 更多