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);