Есть страница, навигация по ней работает по ссылкам, каждая ссылка ведет на определенную часть страницы.
Как сделать так, что бы ссылка меняла свой цвет (если она активная на данный момент)?
Немного мимо кассы, но с jQuery как-то так можно это сделать (вдруг кому-то пригодится)
$(".link").click(function() {
event.preventDefault();
let navEl = $(this);
let scrollElement = $(this).attr("href");
let scrollOffset = $(scrollElement).offset().top;
if (!navEl.hasClass("active")) {
$(".link").removeClass("active");
navEl.addClass("active");
$("html,body").animate({
scrollTop: scrollOffset
}, 1100);
}
});
.nav {
position: fixed;
top: 0;
background: white;
}
.link {
border: 1px solid;
background: grey;
}
.active {
background: red;
}
.body div {
height: 550px;
border: 1px solid;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="nav">
<a href="#sec1" class="link active">sec1</a>
<a href="#sec2" class="link">sec2</a>
<a href="#sec3" class="link">sec3</a>
<a href="#sec4" class="link">sec4</a>
</div>
<div class="body">
<div id="sec1">sec1</div>
<div id="sec2">sec2</div>
<div id="sec3">sec3</div>
<div id="sec4">sec4</div>
</div>
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости