我很驚訝,Bootstrap不提供自動化工具來切換.active
類之間的.nav
酒吧不同鏈接。活動鏈接菜單開關怪異行爲(引導)
所以我搜索,得到了一些幫助,並試圖將此腳本應用到我的菜單:
$('.nav li a').on('click', function() {
alert("class added " + $(this).parent().find('a').attr('href'));
$(this).parent().parent().find('.active').removeClass('active');
$(this).parent().addClass('active');
});
這是HTML:
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<!-- blah blah -->
</div>
<div class="collapse navbar-collapse" id="navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="{{ URL::to('/') }}">Home</a></li>
<li><a href="{{ URL::to('/directions') }}">Directions</a></li>
</ul>
</div>
</div>
</nav>
發生奇怪的是,當我點擊Directions
從Home
刪除類.active
,然後去Directions
,但只是半秒鐘,然後它回到了以前的樣子。
我 「調試」 目標是這樣的:
$('.nav li a').on('click', function() {
alert("clicked " + $(this).attr('href'));
alert("class removed-> " + $(this).parent().parent().find('.active').find('a').attr('href'));
alert("class added " + $(this).parent().find('a').attr('href'));
$(this).parent().parent().find('.active').removeClass('active');
$(this).parent().addClass('active');
});
而且在Directions
點擊時,輸出爲:
- 點擊
http://localhost:8000/directions
- 類中刪除
http://localhost:8000
- 類添加
http://localhost:8000/directions
因此,瞄準正確的元素似乎沒有錯。
劇本出了什麼問題,爲什麼會發生這種奇怪的事情?
你確定它不是,當你點擊鏈接的頁面重新加載剛,去回到家裏一樣活躍? –
當我點擊'方向'我在方向頁面中定義,不在家... – dabadaba