I have this code in jQuery which works well, but I'm trying to transform it to vanilla JS (plain JavaScript), at first I will show you code in jQuery:
var prev = 0;
var $window = $(window);
var nav = $('.nav');
$window.on('scroll', function(){
  var scrollTop = $window.scrollTop();
  nav.toggleClass('hidden', scrollTop > prev);
  prev = scrollTop;
});body {
  font-family: helvetica neue, helvetica, arial, sans-serif;
  height: 8000px;
}
.nav {
  background: #111;
  text-align: center;
  color: #fff;
  height: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  position: fixed;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: -moz-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.nav.hidden {
  -webkit-transform: translateY(-100%);
  -moz-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  -o-transform: translateY(-100%);
  transform: translateY(-100%);
}
p {
  margin: 0;
  padding: 20px;<script
  src="https://code.jquery.com/jquery-3.6.1.min.js"
  integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ="
  crossorigin="anonymous"></script>
<div class="nav">Scroll to show/hide this bar!</div>
<p>They see me scrolling...</p>
<p>Scroll down and back up to view the nav</p>and here is code in vanilla js I made getting this error:
Uncaught SyntaxError: Failed to execute 'querySelector' on 'Document': '[object Window]' is not a valid selector.
var prev = 0;
var $window = document.querySelector(window);
var nav = document.querySelectorAll(".nav");
$window.addEventListener("scroll", function () {
  var scrollTop =
    window.pageYOffset ||
    document.documentElement.scrollTop ||
    document.body.scrollTop ||
    0;
  if (scrollTop > prev) {
    nav.classList.toggle("hidden");
  }
  prev = scrollTop;
});
Can someone tell me where I am making a mistake please.
var prev = 0;
var nav = document.querySelectorAll(".nav");
window.addEventListener("scroll", function () {
  var scrollTop =
    window.pageYOffset ||
    document.documentElement.scrollTop ||
    document.body.scrollTop ||
    0;
  if (scrollTop > prev) {
    nav.classList.toggle("hidden");
  }
  prev = scrollTop;
});
We solve problem on window object, but now we get another error on classlist toggle like:
Uncaught TypeError: Cannot read properties of undefined (reading 'toggle')
 
     
    