jQuery addClass example
Change class name on click in jQuery
HTML
Bar under
<div class="progress-wrapper">
<div class="progress-labels">
<span class="progress-label">a</span>
<span class="progress-label">b</span>
<span class="progress-label">c</span>
</div>
<div id="progress-under" class="progress-bar"></div>
</div>
Bar over
<div class="progress-wrapper">
<div class="progress-labels">
<span class="progress-label">a</span>
<span class="progress-label">b</span>
<span class="progress-label">c</span>
</div>
<div id="progress-over" class="progress-bar progress-bar-over"></div>
</div>
CSS
.progress-wrapper {
position: relative;
margin: 0 auto;
border: 1px solid black;
}
.progress-labels {
display: flex;
}
.progress-label {
border: 1px solid black;
padding: 15px 0;
display: inline-block;
text-align: center;
flex-grow: 1;
flex-basis: 0;
}
.progress-bar {
position: absolute;
top: 0;
z-index: -1;
background-color: red;
/* opacity: 0.7; */
width: 100%;
height: 100%;
}
.progress-bar-over {
z-index: 0;
opacity: 0.7;
}
JavaScript
let progress = 0;
const $barUnder = $('#progress-under');
const $barOver = $('#progress-over');
setInterval(() => {
progress = (progress < 100) ? progress + 1 : 0;
$barUnder.width(`${progress}%`);
$barOver.width(`${progress}%`);
}, 10);