0
我正在使用twitter bootstrap导航药丸,并已改变背景颜色。首次加载页面时,会放入正确的背景颜色。但是,当我的JavaScript文件更改为“活动”后,它似乎没有响应该CSS。JavaScript的addClass似乎并没有触发我的css的类
HTML
<ul class="nav nav-pills">
<li id="About" role="presentation" class="active"><a href="#">About</a></li>
<li id="Animals" role="presentation"><a href="#">Animals</a></li>
<li id="Adoptly" role="presentation"><a href="#">Adoptly</a></li>
<li id="Blog" role="presentation"><a href="#">Blog</a></li>
<li id="Events" role="presentation"><a href="#">Events</a></li>
</ul>
CSS
.nav-pills>li.active>a, .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover {
color:white !important;
background-color:#FF4571 !important;
}
的Javascript这里
function checkWidth() {
var windowsize = $(window).width();
var current = document.getElementsByClassName('active');
var displayText = current[0].textContent;
if (windowsize > 425) {
//if the window is greater than 440px wide then turn on jScrollPane..
$("#navigation").empty();
$("#navigation").html(pillsHTML);
checkActive(displayText,true);
}
else
{
$("#navigation").empty();
$("#navigation").html(listHTML);
checkActive(displayText,false);
}
}
function checkActive(currentTab, bool){
console.log(bool);
if(bool)
{
$('li').removeClass('active');
var element = document.getElementById(currentTab);
$(element).addClass('active');
}
else
{
$('.list-group-item').removeClass('active');
var element = document.getElementById(currentTab);
$(element).addClass('active');
}
}
checkWidth();
// Bind event listener
$(window).resize(checkWidth);
$('#navigation').on('click','li',function(e){
var previous = $(this).closest(".nav").children(".active");
previous.removeClass('active'); // previous list-item
$(e.target).addClass('active'); // activated list-item
});
感谢。特别是对于codepen。使您更容易看到您正在谈论的概念。 –
没问题。乐于帮助 –