jQuery - fadeOut on Scroll / fadeIn auf "scrollstop"
Ich habe eine Div-Positionierung, die vom Scroll-Event ausgelöst wird. Was passiert, wenn das Scroll-Ereignis einige Male ausgelöst wird, was zu einem flackernden Div führt? Mein Plan ist es, dieses div auszublenden und wieder einzublenden, sobald kein Scroll-Event mehr ausgelöst wird. Wie kann ich überprüfen, ob das Scrollen beendet ist? Ich dachte über eine Kombination von Timeout <-> Scroll nach, aber tatsächlich funktionierte nichts so, wie ich es mir erhofft hatte. Hier ist, was ich bisher bekommen habe.
$(document).ready(function(){
//var animActive = false;
$(window).scroll(function() {
/*
if (animActive == false){
animActive = true;
$('.mceExternalToolbar').fadeOut(100, function () {
$('.mceExternalToolbar').fadeIn(3000, function () {
animActive = false;
console.log("NOW");
});
});
}
*/
topParentx = $('#tinyMCEwrapper').position().top;
if ($(this).scrollTop() >= topParentx){
$('.mceExternalToolbar').css('top', ($(this).scrollTop()-topParentx) + "px");
} else {
$('.mceExternalToolbar').css('top', "0px");
};
});
});
Wie Sie sehen, habe ich einen meiner letzten Versuche dort belassen, aber die Rückrufe der Fade-Funktion haben nicht wie erwartet funktioniert.