JSFiddle - React, Tailwind, and code Playground

HTML

<div id="right-menu">
  <div class="custom">
    <ul class="sp-module" data-uk-scrollspy-nav="{closest: 'li', smoothscroll:{offset: 0}}" style="background:red">
      <li><a href="#section1">section1</a></li>
      <li><a href="#section2">section2</a></li>
      <li><a href="#section3">section3</a></li>
      <li><a href="#section4">section4</a></li>
      <li><a href="#section5">section5</a></li>
      <li><a href="#section6">section6</a></li>
      <li><a href="#section7">section7</a></li>
      <li><a href="#section8">section8</a></li>
    </ul>
  </div>
</div>
<div class="page-content">
  <section id="section1" class="sppb-section">
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium placeat nulla ad eum ex aliquam, ipsa facilis consequatur hic aspernatur quae dolor molestias nobis commodi corrupti, eaque unde, rerum velit.
    </p>
  </section>
  <section id="section2" class="sppb-section">
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium placeat nulla ad eum ex aliquam, ipsa facilis consequatur hic aspernatur quae dolor molestias nobis commodi corrupti, eaque unde, rerum velit.
    </p>
  </section>
  <section id="section3" class="sppb-section">
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium placeat nulla ad eum ex aliquam, ipsa facilis consequatur hic aspernatur quae dolor molestias nobis commodi corrupti, eaque unde, rerum velit.
    </p>
  </section>
  <section id="section4" class="sppb-section">
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium placeat nulla ad eum ex aliquam, ipsa facilis consequatur hic aspernatur quae dolor molestias nobis commodi corrupti, eaque unde, rerum velit.
    </p>
  </section>
  <section id="section5" class="sppb-section">
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium placeat nulla ad eum ex aliquam, ipsa facilis consequatur hic aspernatur quae dolor...

CSS

#right-menu {
  position: absolute;
  float: right;
  margin-left: 15px;
  width: 100%;
}

.custom {
  right: 20px;
  float: right;
  position: fixed;
    top: 50%;
    transform: translateY(-50%);
}

.sp-module >li >a {
  color: #fff;
  display: block;
  padding: 2px 0;
  -webkit-transition: 300ms;
  transition: 300ms;
  font-weight: bold;
}
.sp-module.black >li >a {
  color: #000;
}

section {
  z-index: 1;
  height: 100vh;
  width: 100%;
  height: 100vh;
  bottom: 0;
}

.sppb-section {
  padding-top: 25%;
}

.sppb-section p {
  width: 80%;
  margin-left: 15px;
}

#section1,
#section3,
#section5,
#section7 {
  background-color: #000;
  color: #fff;
}

#section2,
#section4,
#section6,
#section8  {
  background-color: #fff;
}

JavaScript

window.addEventListener("DOMContentLoaded", function() {
    var nav = document.querySelector(".sp-module");
    var element = document.querySelector("section"); 
    document.addEventListener("scroll", function() {
        var progress = .5 + window.pageYOffset / element.offsetHeight | 0;
        nav.classList[progress % 2 ? "add" : "remove"]("black")
    })
});