我正在使用symfony2(MVC框架)和Twitter Bootstrap v3.0.0。我每次点击链接时都试图切换class"active"
。我尝试了很多jquery解决方案,最好的解决方案是不加载页面。这是我的HTML代码:
<header class="navbar navbar-inverse navbar-fixed-top wet-asphalt" role="banner">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html"><img src="images/logo.png" alt="logo"></a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="{{ path('portofolio_front_homepage') }}">Accueil</a></li>
<li><a href="{{ path('portofolio_front_about') }}">A propos</a></li>
<li><a href="{{ path('portofolio_front_projects') }}">Portfolio</a></li>
<li><a href="{{ path('portofolio_front_blog') }}">Blog</a></li>
<li><a href="{{ path('portofolio_front_contact')}}">Contact</a></li>
</ul>
</div>
</div>
</header><!--/header-->
Jquery代码:
<script type="text/javascript">
$(document).ready(function() {
$('ul.nav > li').click(function(e) {
e.preventDefault();
$('ul.nav > li').removeClass('active');
$(this).addClass('active');
});
});
</script>
我该怎么做?
答案 0 :(得分:1)
当您不提供JS时,不容易“修复”您的代码。 应该像这样:
$('.navbar-nav li a').on('click', function() {
$('.navbar-nav li').removeClass('active');
$(this).parent('li').addClass('active');
});
<强>示例强>
http://jsfiddle.net/a3yFh/
答案 1 :(得分:0)
如果您只想将活动类设置为打开的链接,则可以执行以下操作:
{% set page_route = app.request.attributes.get('_route') %}
<ul class="nav navbar-nav navbar-right">
<li {% if page_route == 'portofolio_front_homepage' %}class="active"{% endif %}><a href="{{ path('portofolio_front_homepage') }}">Accueil</a></li>
<li {% if page_route == 'portofolio_front_about' %}class="active"{% endif %}><a href="{{ path('portofolio_front_about') }}">A propos</a></li>
<li {% if page_route == 'portofolio_front_projects' %}class="active"{% endif %}><a href="{{ path('portofolio_front_projects') }}">Portfolio</a></li>
<li {% if page_route == 'portofolio_front_blog' %}class="active"{% endif %}><a href="{{ path('portofolio_front_blog') }}">Blog</a></li>
<li {% if page_route == 'portofolio_front_contact' %}class="active"{% endif %}><a href="{{ path('portofolio_front_contact')}}">Contact</a></li>
</ul>