Frage Jquery wait() unterbricht code

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

DerNeuling21

Mitglied
15 September 2017
46
1
8
18
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
6 Oktober 2015
1.026
202
63
17
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
11 April 2019
21
0
1
Hamburg
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: