JSFiddle - React, Tailwind, and code Playground

HTML

<body class="full-width-content">


  <div class="site-container">
    <nav class="nav-primary">
      <div class="wrap">
        <ul class="menu genesis-nav-menu menu-primary">
          <li class="menu-item"><a href="#">Home</a>
          </li>
          <li class="menu-item"><a href="#">News</a>
          </li>
          <li class="menu-item"><a href="#">Ranking</a>
          </li>
        </ul>
      </div>
    </nav>
  </div>

  <div class="site-inner">
    <div class="content-sidebar-wrap">
      <main class="content">
        <article class="page entry">
<div>
          <h1>Test Article</h1>
          </div>
        </article>
      </main>
    </div>
  </div>
  <div id="mw-panel" class="mw_panel">
    <div>
      <h3>Navigation</h3>
      <div>
        <ul>
          <li><a href="#">Letzte Änderungen</a>
          </li>
        </ul>
      </div>
    </div>

      <h3>Werkzeuge</h3>
      <div>
        <ul>
          <li><a href="#">Datei hochladen</a>
          </li>
          <li><a href="#">Spezialseiten</a>
          </li>
        </ul>
      </div>
  </div>
</body>

CSS

.content .entry {
    margin-top: 40px;
  padding-bottom: 400px;
}
.mw_panel{
position: absolute;  
  border: 2px solid black;
}

JavaScript

var menu = document.getElementsByClassName("nav-primary");
    var Truemenu=menu[0].offsetTop+menu[0].offsetHeight;
    var widget = document.getElementById("mw-panel");
    
    var difference = widget.offsetTop - Truemenu;
    if (difference > 100) {
      document.getElementById("mw-panel").style.top = (Truemenu + 100) + "px";
    }
    
    console.log (widget.offsetTop)
    console.log (menu[0].offsetTop+menu[0].offsetHeight)