Mihailo Jančić
Mihailo Jančić

Reputation: 13

Header resize on scroll 100% screen height - javascript

This is the code where i would like to add 100% instead of pixels. Can anyone please help me with this code? I'm bad at javascript

function init() {
  window.addEventListener('scroll', function(e) {
    var distanceY = window.pageYOffset || document.documentElement.scrollTop,
      shrinkOn = 100,
      header = document.querySelector("header");
    if (distanceY > shrinkOn) {
      classie.add(header, "smaller");
    } else {
      if (classie.has(header, "smaller")) {
        classie.remove(header, "smaller");
      }
    }
  });
}
window.onload = init();
<header>
  <div class="navcontainer">
    <div id="logo"></div>
    <ul id="menu">
      <li data-menuanchor="firstPage"><a href="#firstPage">POČETNA</a>
      </li>
      <li data-menuanchor="secondPage"><a href="#secondPage">BIOGRAFIJA</a>
      </li>
      <li data-menuanchor="3rdPage"><a href="#3rdPage">RURALNI MOTIVI</a>
      </li>
      <li data-menuanchor="4thPage"><a href="#4thPage">REČNI MOTIVI</a>
      </li>
      <li data-menuanchor="5thPage"><a href="#5thPage">GRADSKI MOTIVI</a>
      </li>
      <li data-menuanchor="lastPage"><a href="#lastPage">KONTAKT</a>
      </li>
    </ul>
  </div>
</header>

Upvotes: 1

Views: 132

Answers (1)

Abhishek Pandey
Abhishek Pandey

Reputation: 13558

You cannot use 100% but you can do it by using window.innnerHeight

function init() {
    window.addEventListener('scroll', function(e){
        var distanceY = window.pageYOffset || document.documentElement.scrollTop,
            shrinkOn = window.innerHeight,
            header = document.querySelector("header");
        if (distanceY > shrinkOn) {
            classie.add(header,"smaller");
        } else {
            if (classie.has(header,"smaller")) {
                classie.remove(header,"smaller");
            }
        }
    });
}
window.onload = init();

Upvotes: 1

Related Questions