【发布时间】:2013-06-16 12:10:17
【问题描述】:
我使用 Bootstrap 导航选项卡/下拉菜单组件作为我的主要导航栏,但我不知道如何根据传入的 URI 设置活动菜单。
网上有很多不同的示例/帖子使用导航选项卡来隐藏和显示特定的 div 内容或使用 # 符号,但我只想使用 PHP 读取传入的 URI,_SERVER["REQUEST_URI "] 变量并设置一个选项卡处于活动状态。是否是导航中的嵌套位置也是一个问题。
这是我一直在尝试的:
<ul class="nav nav-tabs" id="supernav">
<li class="active"><a href="/page1.html" data-toggle="tab"><i class="icon-home" style="margin-top:4px;"></i> Page 1</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Page 2 <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/page2.html" data-toggle="tab">Home</a></li>
<li class="divider"></li>
<li><a href="/page2.2.html" data-toggle="tab">Page 2.2</a></li>
<li><a href="/page2.3.html" data-toggle="tab">Page 2.3</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Page 3 <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/page3.html" data-toggle="tab">Home</a></li>
<li class="divider"></li>
<li class="dropdown-submenu">
<a href="/page3.2.html" data-toggle="tab">Page 3.2</a>
<ul class="dropdown-menu">
<li><a href="/page3.2.1.html" data-toggle="tab">Page 3.2.1</a></li>
<li><a href="/page3.2.2.html" data-toggle="tab">Page 3.2.2</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="/page4.html" data-toggle="tab">Page 4</a></li>
</ul>
<script>
window.onload=function (e) {
e.preventDefault();
$('#supernav a[href="<?=$_SERVER["REQUEST_URI"];?>"]').tab('show');
};
</script>
这里有几个 URI 示例:
http://abc.com/page1.html
http://abc.com/page2.3.html
http://abc.com/page3.2.2.html
谁能给我一个很好的例子来说明如何实现这一点,或者我只是对这个组件要求太多了吗?
注意:我已在标题中预加载了所有引导程序和 jquery 资源。
【问题讨论】:
-
这里是你应该做的更正:$('#supernav active').tab('show');看看我的答案,似乎是对 Bootstrap 选项卡组件的解释。
标签: php twitter-bootstrap uri nav