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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage