Heim > Web-Frontend > CSS-Tutorial > Wie kann ich mit jQuery die Klasse eines Headers basierend auf der vertikalen Bildlaufposition dynamisch ändern?

Wie kann ich mit jQuery die Klasse eines Headers basierend auf der vertikalen Bildlaufposition dynamisch ändern?

Susan Sarandon
Freigeben: 2024-12-03 19:50:14
Original
465 Leute haben es durchsucht

How Can I Dynamically Change a Header's Class Based on Vertical Scroll Position Using jQuery?

JQuery-basierte Klassenmanipulation mit vertikalem Scrollen

Problem:

Sie möchten Änderungen vornehmen Die Klasse eines Header-Elements, wenn ein Benutzer einen Bildlauf durchführt, wodurch sich sein Erscheinungsbild ändert. Ihr aktueller Ansatz funktioniert jedoch nicht wie erwartet.

Lösung:

<br>$(window).scroll(function() {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">var scroll = $(window).scrollTop();

// Update using correct operator (>=, not <=)
if (scroll >= 500) {
    // Use correct class name (clearHeader, not clearheader)
    $(".clearHeader").addClass("darkHeader");
}
Nach dem Login kopieren

});

Korrekte Syntax:

Sicherstellung der korrekten Verwendung von > =-Operator und der Klassenname „clearHeader“ sind entscheidend. Entfernen Sie außerdem nicht die Klasse „clearHeader“, da dadurch die feste Positionierung und die Möglichkeit zur erneuten Auswahl entfernt werden.

Klassen zurücksetzen:

Um die Klassenänderung zurückzusetzen, wenn Scrollen Sie nach oben und verwenden Sie diesen Code:

<br>$(window).scroll(function() {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">var scroll = $(window).scrollTop();

if (scroll >= 500) {
    $(".clearHeader").addClass("darkHeader");
} else {
    $(".clearHeader").removeClass("darkHeader");
}
Nach dem Login kopieren

});

Leistungsoptimierung:

Zwischenspeichern Sie das jQuery-Objekt für eine bessere Effizienz des Headers:

<br>$(function() {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">var header = $(".clearHeader");
$(window).scroll(function() {
    var scroll = $(window).scrollTop();

    if (scroll >= 500) {
        header.removeClass('clearHeader').addClass("darkHeader");
    } else {
        header.removeClass("darkHeader").addClass('clearHeader');
    }
});
Nach dem Login kopieren

});

Das obige ist der detaillierte Inhalt vonWie kann ich mit jQuery die Klasse eines Headers basierend auf der vertikalen Bildlaufposition dynamisch ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Vorheriger Artikel:Wie kann ich die Größe domänenübergreifender Iframes zuverlässig ändern? Nächster Artikel:Wie kann ich mit Flexbox Spalten mit fester Breite und flexibler Mitte erstellen?
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
Aktuelle Ausgaben
verwandte Themen
Mehr>
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage