我正在使用 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 资源。