根据网址细分,手风琴风格菜单处于活动状态

时间:2013-05-08 23:20:28

标签: jquery codeigniter accordion user-experience

我一直困惑于这一天。我们的想法是复制Outlook 2010样式的侧边栏导航并创建我们用户熟悉的UX。我目前在网址上使用它进行基本导航和活动状态。

<ul class="fltrt" style="padding-right:5px;"> 
<?php foreach($NavigationArray as $i =>     $nav_item): ?> 
<li <?php if ( $this->uri->uri_string() == $i ): ?> class="active"<?php endif; ?>> 
<?= anchor($i, $nav_item) ?> </li> <?php endforeach ?> </ul>

我只想用http://jqueryui.com/accordion/作为示例实现一个简单的手风琴菜单,节标题是平铺,菜单如上所述循环,但是,如果url的第一段=标题是活动的,如果手风琴菜单中的链接与网址的第二段匹配,它也是活动的。

我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

这一行:

<li <?php if ( $this->uri->uri_string() == $i ): ?> class="active"<?php endif; ?>>

无效。

$this->uri->uri_string()将类似于/index.php/mycontroller/myfunction,而$i可能是一个int(0,1,2,3),所以它们永远不会相等。

您希望匹配$this->uri->segment(n);,其中n是您要匹配的网址的细分。例如如果网址为/index.php/home/overview且您要匹配的菜单项为“主页”,则表示

<li <?php if ( $this->uri->segment(1) == $nav_item ): ?> class="active"<?php endif; ?>>