Ich habe eine feste Navbar auf meiner Website, die ich versuche, Funktionen zu binden, sobald es einen bestimmten Punkt auf der Seite erreicht. Ich habe das schon dreimal auf drei Seiten erfolgreich gemacht, kann es aber nicht für das Leben von mir schaffen. Die Funktion wird in einem Fenster eingewickelt bereit, so weiß ich die Seite vollständig geladen ist - vollständig für zwei Tage stapfte ... Hier ist der Code:jQuery Dokument Scroll nicht feuern
jQuery:
function startchange() {
$('#ajax-frame').imagesLoaded().done(function(instance) {
var scroll_start = 0;
var startchange = $('.startchange');
var offset = startchange.offset();
if (startchange.length) {
$(document).on('scroll', function() {
scroll_start = $(this).scrollTop();
if (scroll_start > offset.top) {
$('nav').addClass('active');
console.log("startchange working");
} else {
$('nav').removeClass('active');
};
});
}
});
};
CSS:
body,
html {
height: 100% !important;
width: 100%;
margin: 0;
padding: 0;
overflow-x: hidden;
}
Vielen Dank für einen Einblick in dieses frustrierende Thema.
Wie feuern Sie die 'startchange'-Funktion? Sind Sie sicher, dass Sie '$ ('# ajax-frame') haben. ImagesLoaded() .done 'callback called? –
Bitte posten Sie den relevanten Code, damit wir ein minimales Beispiel ausführen können, um das Problem zu reproduzieren. –
Sie wickeln Ihren Code in eine 'startChange' -Funktion ein. Hast du es angerufen? – mrlew