【问题标题】:addClass in javascript not work in php codeigniterjavascript中的addClass在php codeigniter中不起作用
【发布时间】:2015-04-03 06:07:05
【问题描述】:

点击导航时我需要激活导航。我使用 javascript 来激活导航。我的代码如下:

<?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>

【问题讨论】:

  • 你能说明你在哪里包含了 jQuery 脚本吗?
  • 你在uriuri1得到什么

标签: javascript php codeigniter


【解决方案1】:

这里我解释一下我们如何在 javascript 中存储 php 变量

    <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>

【讨论】:

  • 这段代码也不能一次激活我的导航一个菜单。
【解决方案2】:

几件事。

关闭&lt;ul&gt; 标签。

<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 时,最好在 &lt;?php 之后留一个空格,在?&gt; 之前留一个空格,因为有时会引发错误。另外,关闭你的陈述。 变化:

<?php echo site_url()?>

收件人:

<?php echo site_url(); ?>

至于尝试执行“活动”任务,为什么不在页面创建期间执行,而不是在使用 JS 之后执行?

在页面顶部设置您的变量

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

然后在您的 &lt;li&gt; 添加基于变量的“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了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 2023-03-21
    相关资源
    最近更新 更多