Ich muss die Richtung erkennen, in der ein Benutzer scrollt - "nach oben" oder "nach unten". Basierend auf dem Code in dieser Antwort gefunden: How can I determine the direction of a jQuery scroll event?jQuery/JavaScript: Scroll-Richtung erkennen - Code Struktur Problem
Ich habe versucht, es in eine Funktion zu wickeln, so dass es ein bisschen differenzierter ist - aber leider funktioniert es nicht. Ich denke, es hat etwas damit zu tun, wie ich den Wert zurückgebe, aber die Richtung ist immer "oben". Da JavaScript ziemlich neu ist, habe ich Probleme, dieses Problem zu lösen. Hier
ist der Code:
$(document).ready(function() {
'use strict';
var lastScrollTop = 0,
st,
direction;
function detectDirection() {
st = window.pageYOffset;
if (st > lastScrollTop) {
direction = "down";
} else {
direction = "up";
}
lastScrollTop = st;
return direction;
}
$(window).bind('scroll', function() {
detectDirection();
console.log(detectDirection());
});
});
Und ich habe auch eine Fiddle einrichten.
Könnten Sie mir bitte helfen herauszufinden, wo das Problem liegt?
Ich würde empfehlen, Ihre Funktions- und Variablendeklarationen außerhalb der Ready-Funktion zu verschieben. Ich bin mir nicht sicher, ob das das Problem lösen wird, aber es könnte einen Versuch wert sein. –
@AdamPlocher Danke für den Tipp, aber es hat nicht geholfen. Gibt es einen generellen Vorteil, dies zu tun? Vielleicht leistungsorientiert? – Sven