0

我的标题中有以下内容:

<div id="wrapper" class="homepage itemlist com_k2 category">
  <div id="rt-header">
    <div class="rt-container">
      <div class="rt-grid-3 rt-alpha">
        <div class="rt-block"><a href="#" id="rt-logo"></a></div>
      </div>
      <div class="rt-grid-9 rt-omega">
        <div class="rt-fusionmenu">
          <div class="nopill">
            <div class="rt-menubar">
              <ul class="menutop level1 ">
                <li class="parent  root f-main-parent firstItem f-mainparent-item"> <a class="daddy item bullet" href="www.domain.com"> <span> الرئيسية </span> </a> </li>

                <li class="active root"> <a class="orphan item bullet" href="load_kitchen_list"> <span> المطبخ </span> </a> </li>
                <li class="root"> <a class="orphan item bullet" href=""> <span style="font-size:medium;"> الملف الشخصي </span> </a> </li>
                <li class="root"> <a class="orphan item bullet" href="main/contactus"> <span> للإتصال بنا</span> </a> </li>
              </ul>
            </div>
          </div>
        </div>
      </div>
      <div class="clear"></div>
    </div>
  </div>

现在如果你调查

  • 元素,您会发现其中一个中有一个活动标志。这确保当前看到的页面在导航栏中突出显示。我想知道如何根据加载的视图进行更改?这就是我加载视图的方式:

    $this->load->view('layout/header');
    $this->load->view('home');
    $this->load->view('layout/footer');
    

    因此,在这种情况下,主导航选项卡应该处于活动状态。

    问候,

  • 4

    3 回答 3

    3

    我最近完成了类似的事情。可能不是最好的方法,但它对我有用。

    在您的控制器中,在您的视图之前添加它

    $data['contact'] = 'active';
    

    然后将 $data 变量从控制器传递到视图

    $this->load->view('header', $data);
    

    并在您的视图中将其添加到列表项

    <li class="contact <?php if(isset($contact)) {echo $contact; }">
    
    于 2013-04-18T13:14:02.660 回答
    2

    从控制器:

    为您的菜单设置名称并将加载的菜单或页面名称放入变量中,如下所示:

    $data['active'] = 'menu1';
    $this->load->view('layout/header',$data);
    $this->load->view('home');
    $this->load->view('layout/footer');
    

    在视图中:

    <div id="wrapper" class="homepage itemlist com_k2 category">
      <div id="rt-header">
        <div class="rt-container">
          <div class="rt-grid-3 rt-alpha">
            <div class="rt-block"><a href="#" id="rt-logo"></a></div>
          </div>
          <div class="rt-grid-9 rt-omega">
            <div class="rt-fusionmenu">
              <div class="nopill">
                <div class="rt-menubar">
                  <ul class="menutop level1 ">
                    <li class="<?php if(isset($active) && $active == 'menu1') echo 'active';  ?> parent  root f-main-parent firstItem f-mainparent-item"> <a class="daddy item bullet" href="www.domain.com"> <span> الرئيسية </span> </a> </li>
    
                    <li class="<?php if(isset($active) && $active == 'menu2') echo 'active';  ?> root"> <a class="orphan item bullet" href="load_kitchen_list"> <span> المطبخ </span> </a> </li>
                    <li class="<?php if(isset($active) && $active == 'menu3') echo 'active';  ?> root"> <a class="orphan item bullet" href=""> <span style="font-size:medium;"> الملف الشخصي </span> </a> </li>
                    <li class="<?php if(isset($active) && $active == 'menu4') echo 'active';  ?> root"> <a class="orphan item bullet" href="main/contactus"> <span> للإتصال بنا</span> </a> </li>
                  </ul>
                </div>
              </div>
            </div>
          </div>
          <div class="clear"></div>
        </div>
      </div>
    
    于 2013-04-18T13:10:14.967 回答
    0

    给每个菜单项一个不同的类或 id,然后通过 jQuery 或 js 执行

    <li class="kitchen root"> <a class="orphan item bullet" href="load_kitchen_list"> <span> المطبخ </span> </a> </li>
    <li class="anotherclass root"> <a class="orphan item bullet" href=""> <span style="font-size:medium;"> الملف الشخصي </span> </a> </li>
    <li class="contact root"> <a class="orphan item bullet" href="main/contactus"> <span> للإتصال بنا</span> </a> </li>
    

    然后例如在联系页面中,您只需通过 jQuery 执行此操作:

    $(document).ready(function(){
        $(".contact").addClass("active");
    });
    
    于 2013-04-18T13:05:40.100 回答