【问题标题】:The css class disappear when i change to another navigation system当我更改为另一个导航系统时,css 类消失了
【发布时间】:2016-03-16 04:28:08
【问题描述】:

我会尽量解释我需要什么:

当我进入 index.php 页面时,按钮 LINK_1 处于活动状态。当我切换到 LINK_2 时,它会变为活动状态。 我只有一个 index.php 页面,其中只包含 PHP 中的部分外部页面。

Page_1 使用我发现的代码,这是可行的。

HTML:

<menu id="nav">
    <ul>
        <li><a href="index.php" class="btn btn-default"><i class="fa fa-tachometer fa-lg"></i><p class="desc_menu">BTN_1</p></a></li>
        <li><a href="index.php?nav=1" class="btn btn-default"><i class="fa fa-cogs fa-lg"></i><p class="desc_menu">BTN_2</p></a></li>
        <li><a href="mailto:xpto@xpto.com" class="btn btn-default"><i class="fa fa-envelope-o fa-lg">EMAIL</i><p class="desc_menu">COMUNICATIONS</p></a></li>
        <li><a href="exit.php" class="btn btn-default"><i class="fa fa-rocket fa-lg"></i><p class="desc_menu">EXIT</p></a></li>
    </ul>
</menu>

JAVASCRIPT:

$(function() {
    var pgurl = window.location.href.substr(window.location.href
    .lastIndexOf("/")+1);
    $("#nav ul li a").each(function(){
      if($(this).attr("href") == pgurl || $(this).attr("href") == '' )
        $(this).addClass("activ");
      })
  });

我有两个导航系统。顶部的主菜单我使用全局变量“nav”导航,然后我有另一个使用全局变量“op”的系统。

Page_2 当我单击 (index.php?nav=1&p=1, 2 or 3) 按钮 LINK_2 中的激活类消失。我需要它继续活跃。 发生这种情况我做得不好是什么?

谢谢

【问题讨论】:

    标签: javascript php html css


    【解决方案1】:

    点击 index.php?nav=1&op=1 时,index.php?nav=1&op=1 处的页面是否加载完毕?或者它没有重新加载,因为你有一个用于 click 事件的 preventDefault() ?

    我假设 index.php?nav=1&op=1 的页面在您单击时已加载。在这种情况下,您需要更改 JavaScript 以解析导航查询,找到具有该导航编号的链接,并将其设置为活动状态。这应该在绿色链接的点击处理程序中。

    【讨论】:

    • 只有一页。我使用 php 函数“include”来调用 php 页面。当我点击按钮时,这些都包括在内。
    • 点击第一个按钮后检查浏览器地址是否变为index.php?nav=1&op=1。如果是这样,那么您的 javascript 将无法工作,因为 pgurl 是 index.php?nav=1&op=1 而不是 index.php?nav=1。
    猜你喜欢
    • 1970-01-01
    • 2020-09-05
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 2017-02-25
    相关资源
    最近更新 更多