Cześć. Uczę się teraz bootstrapa i zrobiłem menu. Do tego menu dodałem skrypt, żeby przy scrollowaniu menu lekko się chowało do góry z opóźnieniem. No i wszystko działa, tylko, że jak jest schowane, to co jakiś czas się wysuwa, jakby działał jakiś timer i wracał nav do poprzedniego położenia. Co może to powodować? Będę wdzięczny za podpowiedź.
Samo menu jest proste:

<nav class="navbar navbar-expand-lg navbar-dark fixed-top" id="mainNav">
  <div class="container">
    <a class="navbar-brand js-scroll-trigger mt-4" href="#page-top">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
      Menu
      <i class="fas fa-bars"></i>
    </button>
    <div class="collapse navbar-collapse" id="navbarResponsive">
      <ul class="navbar-nav ml-auto mt-3">
        <li class="nav-item pr-3">
          <a class="nav-link js-scroll-trigger active" href="#services">Home</a>
        </li>
<li class="nav-item pr-3">
          <a class="nav-link js-scroll-trigger active" href="#services">Home</a>
        </li>
<li class="nav-item pr-3">
          <a class="nav-link js-scroll-trigger active" href="#services">Home</a>
        </li>
<li class="nav-item pr-3">
          <a class="nav-link js-scroll-trigger active" href="#services">Home</a>
        </li>
</ul>
    </div>
  </div>
</nav>

No i skrypt onscroll

<script>
var prevScrollpos = window.pageYOffset;
window.onscroll = function() {
var currentScrollPos = window.pageYOffset;
  if (prevScrollpos > currentScrollPos) {
    document.getElementById("topbar").style.top = "0";
    document.getElementById("mainNav").style.top = "0";  
  } else {
    document.getElementById("topbar").style.top = "-50px";
    document.getElementById("mainNav").style.top = "-30px";
  }
  prevScrollpos = currentScrollPos;
}
</script>

Na górze jest jeszcze top-bar i on się chowa ładnie i nie powraca do poprzedniej pozycji samoistnie.