Code: Select all
/* Changing Colors and Logo by Section */
function checkSectionTheme() {
var pos = $(window).scrollTop();
$('.theme-white, .theme-dark').each(function () {
var pos_top = $(this).offset().top; // Use offset() for more accuracy
var pos_bottom = pos_top + $(this).outerHeight();
var class_name = $(this).hasClass("theme-white") ? "white" : "color";
// Debugging positions
console.log({
currentScroll: pos,
sectionTop: pos_top,
sectionBottom: pos_bottom,
sectionClass: class_name
});
if (pos >= pos_top && pos < pos_bottom) {
if (class_name === "white") {
$("body").removeClass("color").addClass("white");
} else {
$("body").removeClass("white").addClass("color");
}
}
});
}
// Run function on page load and scroll
$(document).ready(function () {
checkSectionTheme();
$(window).on("scroll", checkSectionTheme);
});
Was fehlt mir hier?
Als ich genau diesen Code zum ersten Mal ausprobierte, funktionierte er perfekt . Ich gehe davon aus, dass es nicht mehr richtig funktioniert, weil ich in demselben Abschnitt viel Inhalt hinzugefügt habe (um den gleichen nahtlosen Hintergrund beizubehalten), aber der JS-Code sollte die Höhe neu berechnen.