如何在引导导航栏中切换活动导航链接而不编写额外的javascript?
有没有一种简单的方法可以在基本引导导航栏中切换活动链接,而无需编写任何javascript 这是我的导航栏如何在引导导航栏中切换活动导航链接而不编写额外的javascript?,javascript,angularjs,twitter-bootstrap,Javascript,Angularjs,Twitter Bootstrap,有没有一种简单的方法可以在基本引导导航栏中切换活动链接,而无需编写任何javascript 这是我的导航栏 <div class="navbar navbar-static-top"> <div class="navbar-inner"> <div class="container"> <div> <ul class="nav" ng-show="isAuthen
<div class="navbar navbar-static-top">
<div class="navbar-inner">
<div class="container">
<div>
<ul class="nav" ng-show="isAuthenticated">
<li class="active"><a href="/activity/create">Create Activity</a></li>
<li><a href="/activity/manage">Manage Activities</a></li>
<li><a href="/activity/su">Super User</a></li>
</ul>
</div>
</div>
</div>
</div>
好吧,我不是100%确定(我对javascript不是很在行),但是你可以做一些if语句
if($url=="/activity/create") {echo "class='active'";}
这是php语法。试试JS
顺便说一句,您使用的是node.js,即js,因此没有js您将无法执行此操作。您可以通过js将
类
属性设置为“active”
。我使用一个外部脚本执行此操作,下面是一个片段:
setActive();
函数setActive(){
activePath=document.location.pathname;//获取当前页面的url
开关(活动路径){
//评估activePath(比嵌套IFs更有效)
案例“/正常运行时间/”:
//如果当前页面路径为/uptime/
document.getElementById('navuptime').className=“active”;
//将ID='navuptime'的元素类设置为“活动”
打破
//中断切换语句,我们都完成了
案例“/正常运行时间/域/”:
//如果当前页面路径为/uptime/domain/
document.getElementById('navuptime').className=“active”;
//与上面一样,将ID为='navuptime'的元素类设置为“活动”
document.getElementById('navdomain').className=“active”;
//还将嵌套的navbar元素类属性设置为“活动”
打破
//中断切换语句,我们都完成了
违约:
//如果未找到匹配项,则使用
打破
//如果找不到匹配的,我什么也不做
}
在向站点添加页面时,您还必须更新脚本,但这只是switch
语句中的另一个案例
以下是我的导航栏HTML的一个片段:
<div class="collapse navbar-collapse navbar-ex1-collapse nudge-left">
<ul class="nav navbar-nav navbar-right">
<li><a id="navwifi" href="/wifi">Guest WiFi</a></li>
<li class="dropdown"><a id="navuptime" class="dropdown-toggle" data-toggle="dropdown" href="#">Uptime Monitoring<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a id="navwan1" href="/uptime/wan1">WAN 1 Connection</a></li>
<li><a id="navwan2" href="/uptime/wan2">WAN 2 Connection</a></li>
<li><a id="navdomain" href="/uptime/domain">Domain</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
-
你可以看到每个navbar元素都有一个唯一的ID供JS更新。这个方法对于我的小站点(少于50页)是可管理的
如果使用了诸如domain.com/uptime/page.html之类的页面URL,开关
语句将找不到匹配项,正如上面所述…document.location.pathname
将返回/uptime/page.html
我总是在每个目录中使用index.html文件来保持URL干净,我的访问者只需键入domain.com/uptime即可。您使用的是什么语言?我可以向您展示它是Ruby on Rails还是PHP,但如果是其他语言,请添加相应的标记。此外,如果您没有使用任何后端语言,则必须使用Javascript。@nahtn是的,我在服务器和客户端(主要是Node.js和AngularJS)上都使用Javascript。在什么情况下?例如,在hover上?