Heim  >  Artikel  >  Web-Frontend  >  Wie halte ich ein Div beim Scrollen am oberen Bildschirmrand?

Wie halte ich ein Div beim Scrollen am oberen Bildschirmrand?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-30 06:31:02907Durchsuche

How to Make a Div Stick to the Top of the Screen While Scrolling?

Beim Scrollen ein Div oben auf dem Bildschirm beibehalten

In bestimmten Szenarien ist es wünschenswert, dass ein Div oben auf dem Bildschirm bleibt Bildschirm, wenn ein Benutzer daran vorbeiscrollt und ihm so quasi „folgt“, während er auf einer Webseite navigiert. Dieses Verhalten stellt sicher, dass wesentliche Elemente wie Schaltflächen oder Navigationssteuerelemente weiterhin leicht zugänglich bleiben.

Um diesen Effekt zu erzielen, können Sie die folgende Strategie anwenden:

JavaScript-Code:

<code class="js">// Cache jQuery objects for performance optimization.
var $window = $(window),
    $stickyEl = $('#the-sticky-div'),
    elTop = $stickyEl.offset().top;

// Attach a handler to the window's scroll event.
$window.scroll(function() {
    // Determine if the div has been scrolled past.
    if ($window.scrollTop() > elTop) {
        // Add a CSS class to make the div sticky.
        $stickyEl.addClass('sticky');
    } else {
        // Remove the sticky class when the user scrolls back up.
        $stickyEl.removeClass('sticky');
    }
});</code>

CSS-Klasse:

<code class="css">#the-sticky-div.sticky {
    position: fixed;
    top: 0;
}</code>

Erklärung:

Der JavaScript-Code speichert zunächst jQuery-Objekte für zwischen bessere Leistung. Anschließend wird dem Fenster ein Scroll-Ereignis-Listener hinzugefügt, der immer dann ausgelöst wird, wenn der Benutzer vertikal scrollt. Innerhalb des Listeners prüft es, ob am Div vorbei gescrollt wurde, indem es die Bildlaufposition des Fensters mit dem Versatz des Div vom oberen Rand der Seite vergleicht. Wenn die Bildlaufposition größer als der Offset ist, wird dem div eine Sticky-CSS-Klasse hinzugefügt, die seine Position auf „fixed“ setzt und sie oben auf dem Bildschirm platziert. Wenn der Benutzer umgekehrt einen Bildlauf nach oben durchführt und die Bildlaufposition kleiner als der Offset ist, wird die Sticky-Klasse entfernt und das Div an seine ursprüngliche Position zurückgebracht.

Das obige ist der detaillierte Inhalt vonWie halte ich ein Div beim Scrollen am oberen Bildschirmrand?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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