Ich versuche, ein kleines Snippet für eine klebrige Seitenleiste mit jQuery zu erstellen. Aus irgendeinem Grund wird die Funktion innerhalb von .scroll()
nur einmal ausgeführt, anstatt bei jedem Scroll-Ereignis ausgeführt zu werden. Was könnte ich falsch machen?.scroll() wird nur einmal ausgeführt
var sticky = $('#sticky');
var staticSticky = $(sticky).offset().top;
$(window).scroll(moveEl(sticky, staticSticky));
function moveEl(element, staticElToTop){
if($(window).scrollTop() >= staticElToTop){
$(element).css('top', $(window).scrollTop() + 'px');
}
}
Sehen Sie hier für den gesamten Versuch: http://codepen.io/ExcellentSP/pen/GqZwVG
Der obige Code nicht voll funktionsfähig ist. Ich versuche nur, das Scroll-Ereignis richtig zu machen, bevor ich fortfahre.
Gibt es Referenzmaterial, das den Unterschied erklärt? Ich entwickle immer noch mein Verständnis der Bibliothek. Bitte geben Sie Ihre Antwort an. Die Dokumentation sagt dies für den Handler: "Eine Funktion, die jedes Mal ausgeführt wird, wenn das Ereignis ausgelöst wird." – ExcellentSP
@Shane aktualisierte die Antwort –