如何切换活动链路

How to switch an active link?

本文关键字:链路 活动 何切换      更新时间:2023-09-26

我使用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>

我该怎么做?

不容易'修复'你的代码,当你不提供JS。应该是这样的:

$('.navbar-nav li a').on('click', function() {
    $('.navbar-nav li').removeClass('active');
    $(this).parent('li').addClass('active');
});


http://jsfiddle.net/a3yFh/

如果你只是想将活动类设置为打开的链接,你可以这样做:

{% 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>