Navigation beim scrollen erscheinen lassen

  • Einen wunderschönen guten Abend,


    auf immer mehr Seiten sehe ich wenn ich nach unten scrolle dass eine „zweite“ Navigation von oben herruntergeschwebt kommt. Zu sehen z.B. auf http://t3n.de/ oder auf http://personalbranding.de/ die Frage die sich mir nun stellt, ist es schwer umzusetzen und woher weiß die Navigation wann sie erscheinen soll?


    Würde mich auf Hilfe freuen. Kenne mich mit HTML5 und CSS3 einigermaßen aus. Vielleicht hat ja schon jemand etwas fertiges das er zu Verfügung stellen kann / möchte.

  • Mit HTML und CSS allein kommt man da leider nciht weit, da diese techniken bisher noch keine Möglichkeit haben hreauszufinden, wann gescrollt wird. Hier brauchst du JavaScript.


    Und wie für (so gut wie) alles andere auch gibt es in JS für das "Event" scrollen einen "Eventhandler". JS schaut also fortwährend nach, ob dieses Ereignis durch den Nutzer gestartet wird und führt dann entsprechend Code aus. Um nun zu testen, ob die Seite gscrollt wird, ist der Handler der folgende:

    JavaScript
    document.addEventListener("DOMContentLoaded", function() { //Sicherstellen, dass die Seite geladen wurde
        window.addEventListener("scroll", function() { // Den Listener zum scroll Event bauen und als Handler eine anonyme Funktion
            /**
             * Hier kommt dann dein Code für die einzublendende Leiste
             */
        });
    });
  • Und noch ein Tipp: Versuche, soweit möglich, das Ganze als sogenanntes "Progressive Enhancement" aufzubauen. Soll heißen, dein JS blendet die Leiste schön ein und aus, wenn es funktioniert, sollte aber kein JS da sein (weil NoScript Addon etc), sollte es trotzdem noch funktionieren.


    Also, erstmal mit HTML und CSS eine ständig am oberen Rand klebende Leiste bauen und diese dann mit JS erstmal ausblenden um sie beim Scrollen wieder anzeigen zu können.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!