Van boven inschuivend menu met jQuery

Als je deze pagina een beetje naar beneden laat scrollen (minstens 100px), schuift er van boven een header-balk het beeld in. Als je daar op klikt krijg je een schermvullend menu te zien.
Als je op het menu klikt, verdwijnt het weer. Voor demonstratie-doeleinden is er ook een "echt" menu ingebouwd.

Op deze pagina wordt getoond hoe je zoiets maakt. De code van het voorbeeld kun je downloaden om zelf te gebruiken, behalve het plaatje van het logo. Dat moet je zelf toevoegen.

Inspiratie voor dit verhaal komt uit Webdesigner Magazine nr. 80 (oktober 2015), pag. 56 en 57. Dit blad wordt sinds eind november 2017 niet meer gemaakt.
Bij de toepassing op deze site is de code een beetje opgeschoond en is de opmaak aangepast aan de kleuren van deze website. Het menu verdwijnt na een klik op het menu zelf, dat is bij het origineel niet het geval.

Gebruik:

De code van het voorbeeld ziet er als volgt uit:
 
(Zet dit in de <HEAD>).

<script src="https://code.jquery.com/jquery-2.1.4.min.js"
    integrity="sha256-8WqyJLuWKRBVhxXIL1jBDD7SDxU936oZkCnxQbWwJVw="
    crossorigin="anonymous"></script>
Het atribuut integrity="sha256-8Wqy … wJVw=" moet op één regel staan!
<link rel="stylesheet" href="styles.css">

(Zet dit bovenaan in de <BODY> ).

<div id="header">
  <img src="logo.gif" alt="logo">
</div>
<div id="menu">
  <p>Kies een item uit onderstaande lijst</p>
  <ul>
  <li><a href="https://home.hccnet.nl/s.f.boukes"
    target="NewBen">Home</a></li>
  <li><a href="https://www.webmasterij.nl"
    target="NewBen">Webmasterij</a></li>
  <li><a href="https://www.webmasterij.nl/fotoalbum"
    target="NewBen">Ben's Fotosite</a></li>
  <li><a href="https://www.webmasterij.nl/fractals"
    target="NewBen">Ben's Fractalsite</a></li>
  <li><a class="overlay-close">Menu sluiten</a></li>
  </ul>
</div> <!--#menu-->

<script>
  $(function () {
  var down = false;
  var menuOn = false;
  $(window).on('scroll', function() {
    var scrollTop = $(this).scrollTop();
    if ( scrollTop > 100 && down == false) {
      $('#header').animate({"top": 0}, 300 );
      down = true;
    }
    if ( scrollTop < 100 && down == true) {
      $('#header').animate({"top": -100}, 300 );
      down = false;
      if (menuOn == true){
        $('#menu').animate({"bottom": "-100%"}, 500 );
        menuOn = false;
      }
    }
  });
  $( "#header" ).click(function() {
    if (menuOn == false){
      $('#menu').animate({"bottom": -100}, 500 );
      menuOn = true;
    } else {
      $('#menu').animate({"bottom": "-100%"}, 500 );
      menuOn = false;
    }
  });
  $( "#menu" ).click(function() {
    if (menuOn == true){
      $('#menu').animate({"bottom": "-100%"}, 500 );
      menuOn = false;
    }
  });
});</script>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb059.zip, 884 bytes.

 
terug

html-059; Laatste wijziging: 7 november 2017 2017