使class =" active"用于php中的导航菜单

时间:2015-12-07 09:58:02

标签: php codeigniter class nav

我正在创建一个网站..当涉及导航菜单时,我列出了它,并且在单击该菜单时需要导航栏类处于活动状态。给class =" active"这很好。列表标签。但我需要它只在点击时才有效。我怎样才能做到这一点。 我的名单是:

<div class="menu">
  <ul class="nav" id="nav">
    <li class="active">
      <?php echo anchor("cntrl/index","Home"); ?>
    </li>
    <li><a href="#"><?php echo $this->session->userdata('user_name'); ?></a></li>
    <li><a href="#">About</a></li>
    <li>
      <?php echo anchor("cntrl/jobs","Jobs"); ?>
    </li>
    <li>
      <?php echo anchor('cntrl/logout','Logout'); ?>
    </li>

    <div class="clearfix"></div>
  </ul>
  <script type="text/javascript" src="<?php echo base_url(); ?>/js/responsive-nav.js"></script>
</div>

2 个答案:

答案 0 :(得分:0)

好吧,我处理的问题如下:

将活动链接(在单击链接时位于URL中)设置为控制器函数中由链接调用的变量

$data['active_link'] = 'home'; # for example

在视图文件中检查它( JS ):

$(document).ready(function(){
    var active_link = "<?php echo $active_link;?>";
    $("li").removeClass('active');
    $("#"+active_link).addClass('active');
});

答案 1 :(得分:0)

使用以下代码。

<li class="<?php echo (endsWith($_SERVER['REQUEST_URI'], 'cntrl/jobs')? 'active':''); ?>">
   <?php echo anchor("cntrl/jobs","Jobs"); ?>
</li>

此代码的主要部分是

endsWith($_SERVER['REQUEST_URI'], 'cntrl/jobs')

$ _ SERVER [&#39; REQUEST_URI&#39;] 是您当前的网址。和&#c; cntrl / jobs&#39;是您使用当前网址检查的菜单。