我在Js和Jquery中表现不佳,而且我正在寻找通过在Materialise导航栏中更改li活动类来更改活动项目。 我试过这个:
<nav>
<div class="nav-wrapper">
<a href="#" class="brand-logo right">Logo</a>
<ul id="nav-mobile" class="left hide-on-med-and-down">
<li class="active"><a href="{{path('marianna_mv_Accueil')}}">Accueil</a></li>
<li><a href="{{path('marianna_mv_APropos')}}">Á propos de moi</a></li>
<li><a href="{{path('marianna_mv_CeQueJePropose')}}">Ce que je propose</a></li>
<li><a href="{{path('marianna_mv_Bibiliographie')}}">Bibliographie</a></li>
<li><a href="{{path('marianna_mv_Contact')}}">Contact</a></li>
</ul>
</div>
</nav>
脚本
$('.nav-wrapper ul li').click(function() {
$(this).siblings('li').removeClass('active');
$(this).addClass('active');
});
但它不起作用
答案 0 :(得分:0)
你没有忘记在你的项目中添加jquery吗? 我认为你的代码没问题。
答案 1 :(得分:0)
编辑:当我将&gt; href的值设置为“#”时,它可以工作,但是当我按上面提到的那样放置网址时它不起作用。
当我输入网址时,我注意到它在页面加载时有效,但很快活动类又回到了初始li中,并在当前页面的当前li中消失。
有人知道如何使用li a&gt; href?
中的网址保持活动类答案 2 :(得分:0)
我通过这种方式使用“window.location.pathname”开关解决了这个问题:
<nav>
<div class="nav-wrapper">
<a href="#" class="brand-logo right">Logo</a>
<ul id="nav-mobile" class="left hide-on-med-and-down">
<li id="ac" ><a href="{{path('marianna_mv_Accueil')}}">Accueil</a></li>
<li id="ap" ><a href="{{path('marianna_mv_APropos')}}">Á propos de moi</a></li>
<li id="cp" ><a href="{{path('marianna_mv_CeQueJePropose')}}">Ce que je propose</a></li>
<li id="bi" ><a href="{{path('marianna_mv_Bibiliographie')}}">Bibliographie</a></li>
<li id="cn" ><a href="{{path('marianna_mv_Contact')}}">Contact</a></li>
</ul>
</div>
</nav>
{% block body %}
{% endblock %}
<script>
//alert(window.location.pathname);
switch (window.location.pathname) {
case '/':
$('#ac').addClass('active')
break;
case '/apropos':
$('#ap').addClass('active')
break;
case '/ceQueJePropose':
$('#cp').addClass('active')
break;
case '/bibliographie':
$('#bi').addClass('active')
break;
case '/contact':
$('#cn').addClass('active')
break;
}