Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie kann man beim Scrollen ein Div am oberen Rand der Seite „kleben' lassen?

Patricia Arquette
Freigeben: 2024-11-03 21:03:03
Original
193 Leute haben es durchsucht

How to Make a Div

Div beim vertikalen Scrollen am oberen Bildschirmrand positionieren

Frage:

Wie kann ich das machen? Ein Div „bleibt“ oben auf einer Webseite, wenn ein Benutzer daran vorbeiscrollt? Nachdem ich zum Seitenanfang zurückgekehrt bin, möchte ich, dass das Div an seiner ursprünglichen Position wiederhergestellt wird.

Lösung:

Der Schlüssel zu dieser Funktionalität ist das Festlegen von „position:fixed“ auf der Seite div erst, nachdem der Benutzer darüber gescrollt hat. Um dies zu erreichen, können wir einen Handler verwenden, der an das window.scroll-Ereignis angehängt ist:

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

$window.scroll(function() {
    $stickyEl.toggleClass('sticky', $window.scrollTop() > elTop);
});</code>
Nach dem Login kopieren

Dieser Code fügt dem div eine Sticky-CSS-Klasse hinzu, wenn die Seite daran vorbeiscrollt, und entfernt die Klasse, wenn die Seite zurückkehrt nach oben. Die CSS-Klasse ist wie folgt definiert:

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

Wenn die Sticky-Klasse hinzugefügt wird, nimmt das Div eine feste Position ein und bleibt am oberen Bildschirmrand. Es kehrt an seine ursprüngliche Position zurück, wenn die Klasse entfernt wird.

Hinweis: Der Code wurde optimiert, um jQuery-Objekte für eine verbesserte Leistung zwischenzuspeichern.

Das obige ist der detaillierte Inhalt vonWie kann man beim Scrollen ein Div am oberen Rand der Seite „kleben' lassen?. 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