Heim > Web-Frontend > CSS-Tutorial > Wie erstelle ich mit CSS und JavaScript einen festen Header beim Scrollen?

Wie erstelle ich mit CSS und JavaScript einen festen Header beim Scrollen?

Linda Hamilton
Freigeben: 2024-11-01 04:34:28
Original
696 Leute haben es durchsucht

How to Create a Fixed Header on Scroll Using CSS and JavaScript?

Erstellen eines festen Headers beim Scrollen mit CSS und JavaScript

In diesem Szenario wollen wir einen Header erstellen, der fixiert wird und in bleibt Platz, wenn über einen bestimmten Punkt hinaus gescrollt wird.

CSS- und HTML-Ansatz

Die alleinige Verwendung von CSS und HTML reicht nicht aus, um diese Funktionalität zu erreichen. CSS allein bietet keine Lösung zum Anhängen eines Elements an eine bestimmte Scroll-Position.

JavaScript-Integration

Um einen Header beim Scrollen zu fixieren, ist JavaScript für die Ereignisbehandlung erforderlich . Die folgenden Schritte skizzieren die Lösung:

  1. Feste Positionsklasse definieren:

    <code class="css">.fixed {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
    }</code>
    Nach dem Login kopieren
  2. Zuweisen die Klasse beim Scrollen:

    <code class="javascript">$(window).scroll(function() {
        var sticky = $('.sticky'),
            scroll = $(window).scrollTop();
    
        if (scroll >= 100) {
            sticky.addClass('fixed');
        } else {
            sticky.removeClass('fixed');
        }
    });</code>
    Nach dem Login kopieren

    Hier wird, wenn die Scrollposition 100 Pixel überschreitet, die Klasse „fixed“ zum Element „.sticky“ hinzugefügt und es an Ort und Stelle fixiert.

Beispiel:

Der folgende HTML-Code definiert einen festen Header:

<code class="html"><div class="sticky">Header</div></code>
Nach dem Login kopieren

Demo:

[Fiddle Demo](https://jsfiddle.net/gxRC9/501/)

Erweitertes Beispiel:

Wenn der Triggerpunkt auftreten sollte Wenn das klebrige Element den oberen Bildschirmrand erreicht, können wir offset().top verwenden:

<code class="javascript">var stickyOffset = $('.sticky').offset().top;

$(window).scroll(function() {
    var sticky = $('.sticky'),
        scroll = $(window).scrollTop();

    if (scroll >= stickyOffset) {
        sticky.addClass('fixed');
    } else {
        sticky.removeClass('fixed');
    }
});</code>
Nach dem Login kopieren

Erweiterte Demo:

[Erweiterte Fiddle-Demo]( https://jsfiddle.net/gxRC9/502/)

Das obige ist der detaillierte Inhalt vonWie erstelle ich mit CSS und JavaScript einen festen Header beim Scrollen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage