#javascript #bootstrap-4
Вопрос:
Я пытаюсь использовать этот пример с загрузочными таблетками, но с ним не сочетается javascript или css. Как мне выделить таблетки, на которые нажимают? В примере, когда нажимается таблетка, она становится фиолетовой. Я пытаюсь сделать что-то вроде приведенного ниже, но это не работает. Спасибо.
$('#nav-link').on('click', function(e) {
this.backgroundColor = 'black';
});
Ответ №1:
Вы должны переключить класс, который задает фон.
JS
$('#navbar #nav-link').removeClass("active");
$(this).addClass('active');
#navbar-это идентификатор вашей навигационной панели.
CSS
.active {
background: black;
}
$("#navbar").on("click", "li", function(e) {
$('#navbar ul li').removeClass("active");
$(this).addClass('active');
});
.active {
background: red;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<nav class="navbar navbar-light navbar-expand-sm" id="navbar">
<div class="collapse navbar-collapse" id="navbar-list-2">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About Us</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Blog</a>
</li>
</ul>
</div>
</nav>