Das Ziel besteht darin, eine Funktion zu implementieren, bei der ein Header-Element seinen Stil basierend auf ändert die vertikale Scrollposition des Benutzers. Wir möchten eine Klasse entfernen und eine andere hinzufügen, um das Erscheinungsbild des Headers zu ändern, wenn der Benutzer über einen bestimmten Punkt hinaus nach unten scrollt.
Der bereitgestellte Code versucht, die .scroll()-Funktion von jQuery zu verwenden um ein Ereignis auszulösen, wenn das Fenster gescrollt wird. Es gibt jedoch einige Fehler in der Implementierung.
$(window).scroll(function() { var scroll = $(window).scrollTop(); if (scroll <= 500) { $(".clearheader").removeClass("clearHeader").addClass("darkHeader"); } }
$(window).scroll(function() { var scroll = $(window).scrollTop(); if (scroll >= 500) { $(".clearHeader").removeClass("clearHeader").addClass("darkHeader"); } });
Anstatt Klassen zu entfernen und hinzuzufügen, wird empfohlen, eine neue CSS-Klasse zu erstellen, die den Stil von überschreibt die vorhandenen Klassen. Diese Methode ermöglicht eine bessere Kontrolle über das Erscheinungsbild der Kopfzeile.
Um den Stil der Kopfzeile zurückzusetzen, wenn der Benutzer wieder nach oben scrollt, fügen Sie dem Code die folgende Bedingung hinzu:
if (scroll >= 500) { $(".clearHeader").removeClass('clearHeader').addClass("darkHeader"); } else { $(".clearHeader").removeClass("darkHeader").addClass('clearHeader'); }
Das Zwischenspeichern des jQuery-Objekts für das Header-Element sorgt für eine bessere Leistung Leistung:
$(function() { var header = $(".header"); $(window).scroll(function() { if (scroll >= 500) { header.removeClass('clearHeader').addClass("darkHeader"); } else { header.removeClass("darkHeader").addClass('clearHeader'); } }); });
Das obige ist der detaillierte Inhalt vonWie kann ich Header-Stile mithilfe des Scroll-Ereignisses von jQuery dynamisch ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!