Heim >Web-Frontend >CSS-Tutorial >Wie kann ich mit jQuery die Klasse eines Headers basierend auf der vertikalen Bildlaufposition dynamisch ändern?
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> <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"); }
});
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> <pre class="brush:php;toolbar:false">var scroll = $(window).scrollTop(); if (scroll >= 500) { $(".clearHeader").addClass("darkHeader"); } else { $(".clearHeader").removeClass("darkHeader"); }
});
Leistungsoptimierung:
Zwischenspeichern Sie das jQuery-Objekt für eine bessere Effizienz des Headers:
<br>$(function() {</p> <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'); } });
});
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!