Reputation: 7
I want to add active class to current element, so that clicked element can inherit active style.
JQuery code doesn't work. :(
$('.side-track li').click(function() {
$('.side-track li a.active').removeClass('active');
$(this).find("a").addClass('active');
});
.side-track {
font-family: 'GalanoGrotesque-Regular';
font-size: .9rem;
float: right;
transform: rotate(180deg);
color: var(--lightGray);
}
.side-track li {
writing-mode: vertical-rl;
}
.active {
padding-left: 3px;
background: linear-gradient(0deg, rgba(181, 195, 186, 1) 53%, rgba(12, 138, 104, 1) 53%) no-repeat;
background-size: 3px 100%;
background-position: left right;
color: var(--grassGreen);
font-weight: 700;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="side-container sm:hidden md:hidden -my-64 p-4 xl:-my-56 xl:text-lg">
<ul class="side-track space-y-4">
<li class="active"><a href="">Quick summary</a></li>
<li><a href="">Challenge</a></li>
<li><a href="">Solution</a></li>
<li><a href="">Technologies</a></li>
<li><a href="">Results</a></li>
</ul>
</div>
Upvotes: 0
Views: 88
Reputation: 177851
Something like this?
Adding preventDefault() stops the link
$('.side-track').on("click", "li", function(e) {
e.preventDefault(); // stop link
$(this).closest("li") // active is on the LI
.addClass('active')
.siblings().removeClass('active');
});
.side-track {
font-family: 'GalanoGrotesque-Regular';
font-size: .9rem;
float: right;
transform: rotate(180deg);
color: var(--lightGray);
}
.side-track li {
writing-mode: vertical-rl;
}
.active {
padding-left: 3px;
background: linear-gradient(0deg, rgba(181, 195, 186, 1) 53%, rgba(12, 138, 104, 1) 53%) no-repeat;
background-size: 3px 100%;
background-position: left right;
color: var(--grassGreen);
font-weight: 700;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="side-container sm:hidden md:hidden -my-64 p-4 xl:-my-56 xl:text-lg">
<ul class="side-track space-y-4">
<li class="active"><a href="">Quick summary</a></li>
<li><a href="">Challenge</a></li>
<li><a href="">Solution</a></li>
<li><a href="">Technologies</a></li>
<li><a href="">Results</a></li>
</ul>
</div>
Upvotes: 1