2015-04-03 58 views
2

我需要在点击它时激活导航。我用JavaScript来激活navigation.My代码如下:JavaScript中的addClass在php codeigniter中不起作用

<?php 
    $uri = $this->uri->segment(0); 
    $uri1 = $this->uri->segment(1); 
    if ($uri=='') { 
?>   
    <script type="text/javascript"> 
     //make a class toActive in whick active to be added on body load 
     $(document).ready(function(){ 
      $('.navHome').addClass('active'); 
     }); 
    </script> 
<?php 
    }  
?> 

<?php if ($uri1 == 'company_profile') { ?> 
    <script type="text/javascript"> 
     //make a class toActive in whick active to be added on body load 
     $(document).ready(function(){ 
      $('.navCompany').addClass('active'); 
     }); 
    </script> 
<?php } ?> 

我的导航代码是: -

<ul class="nav navbar-nav navbar-right"> 
       <li class="navHome"><a href="<?php echo site_url()?>">HOME</a></li> 
       <li class="navCompany"><a href="<?php echo site_url()?>company_profile">COMPANY PROFILE</a></li> 
<ul> 
+0

你可以显示你包含jQuery脚本的位置吗? – adricadar 2015-04-03 06:14:53

+0

你在'uri'和'uri1'里面得到了什么 – 2015-04-03 06:23:13

回答

0

一些事情。

关闭<ul>标记。

<ul class="nav navbar-nav navbar-right"> 
       <li class="navHome"><a href="<?php echo site_url()?>">HOME</a></li> 
       <li class="navCompany"><a href="<?php echo site_url()?>company_profile">COMPANY PROFILE</a></li> 
<ul> 

当使用HTML标记PHP内,最好是?>之前之后<?php和一个空间,留下一个空间,有时它会引发错误。另外,关闭你的陈述。 变化:

<?php echo site_url()?> 

要:

<?php echo site_url(); ?> 

至于试图做你的 “活跃” 的任务,creationg您的网页,不与JS后期间为什么不去做呢?

在页面的顶部设置的变量

<?php 
    $uri = $this->uri->segment(0); 
    $uri1 = $this->uri->segment(1); 
?> 

然后在你<li>添加一个基于变量“active”级。

<ul class="nav navbar-nav navbar-right"> 
    <li class="navHome <?php if($uri=='') echo 'active'; ?>" ><a href="<?php echo site_url(); ?>">HOME</a></li> 
    <li class="navCompany <?php if($uri1=='company_profile') echo 'active'; ?>"n><a href="<?php echo site_url(); ?>company_profile">COMPANY PROFILE</a></li> 
</ul> 

这样就不需要jQuery了。

+0

谢谢你的回答 – 2015-04-03 07:19:00

2

这里我解释一下我们如何存储PHP变量在JavaScript

<script type="text/javascript"> 
     $(document).ready(function() { 
      var uri1 = '<?php echo $this->uri->segment(1); ?>';//store your uri segment her 
     if (uri1 != "") { 
      //make a class toActive in whick active to be added on body load  
      $('.navHome').addClass('active'); 
     } 
     if (uri1 == 'company_profile') { 
      //make a class toActive in whick active to be added on body load 
      $('.navCompany').addClass('active'); 
     } 
    }); 
</script> 
+0

这段代码一次也没有激活我的导航菜单。 – 2015-04-03 06:38:22