• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Jquery wait() unterbricht code

DerNeuling21

Mitglied
Hallo zusammen,

ich habe folgenden code :

Javascript:
    jQuery("#header-dropdown").click(function(){
        if (menue == false){
            menue = true;
            document.documentElement.style.setProperty('--header_fontcolor', '#323335');
            document.documentElement.style.setProperty('--header_backgroundcolor', '#ffffff');
            jQuery("header>nav").slideDown("fast");
        } else {
            menue = false;
              jQuery("header>nav").slideUp("fast").wait(400);
            if (jQuery(document).scrollTop() < 1){
                  jQuery(".footer-element").html("Text1");
                document.documentElement.style.setProperty('--header_backgroundcolor', 'unset');
                document.documentElement.style.setProperty('--header_fontcolor', '#ffffff');
            } else {
                  jQuery(".footer-element").html("Text2");
                document.documentElement.style.setProperty('--header_fontcolor', '#323335');
            }
        }
    })

Es geht um die Zeile mit dem wait(400) hinten dran. Wird der Code ohne wait() ausgeführt, dann wird auch die if() abfrage richtig ausgeführt und der text des footer-element geändert.

Wird jetzt jedoch das wait() (wie oben im Beispielt) eingefügt, dann wird die if() abfrage nichtmehr ausgeführt und auch der text nicht mehr ausgegeben.

Ich möchte einfach nur den Code zwischen slideUp und der if() Abfrage pausieren, bis das slideup ausgeführt wurde.

Danke für eure Hilfe
 

Aaron3219

Senior HTML'ler
wait() ist auch überhaupt keine JQuery-Funktion. Da für gibt es die delay() Funktion.

Im übrigen ergibt eine Mischung aus VanillaJS und JQuery eigentlich keinen Sinn.

Es gibt außerdem eine Developer-Konsole in den meisten Browsern. Dort würde dir auch angezeigt werden, dass wait() keine Funktion ist.

Um z.B eine if Abfrage zu verzögern benutzt man außerdem die setTimeout Funktion. delay() verzögert nicht die nachfolgenden Funktionen, sondern nur die slideUp() Funktion.
 
Zuletzt bearbeitet:

Nicolai

Neues Mitglied
wait() ist auch überhaupt keine JQuery-Funktion. Da für gibt es die delay() Funktion.

Im übrigen ergibt eine Mischung aus VanillaJS und JQuery eigentlich keinen Sinn.

Es gibt außerdem eine Developer-Konsole in den meisten Browsern. Dort würde dir auch angezeigt werden, dass wait() keine Funktion ist.

Um z.B eine if Abfrage zu verzögern benutzt man außerdem die setTimeout Funktion. delay() verzögert nicht die nachfolgenden Funktionen, sondern nur die slideUp() Funktion.
Kleine Notiz:

Die Developer-Console öffnest du per F12 oder mit Rechtsklick -> "Untersuchen" -> Tab/Reiter "Console".
 
Werbung:

Neueste Beiträge

Oben