2017-02-08 6 views
-1

Ich versuche, zwei separate Funktionen aufzurufen: alertMe1 und AlertMe2 in Jquery. Ich kann die richtige Syntax nicht herausfinden. Ich möchte die Funktionen nicht inline definieren, da ich sie später im Dokument wiederverwenden muss. Ich brauche auch die erste Funktion alertMe1 vollständig zu beenden, bevor die zweite Funktion alertMe2 startet. Was mache ich falsch?Wie mehrere Funktionen in einer JQuery-Anweisung ausgeführt werden

$(document).ready(function() { 
    alertMe1, alertMe2 
}); 

function alertMe1() { 
    alert("Alert1"); 
} 

function alertMe2() { 
    alert("Alert2"); 
} 

Antwort

0

Sie rufen die Funktionen wie gewohnt:

$(document).ready(function() { 
    alertMe1(); 
    alertMe2(); 
}); 
+0

Wird die erste Funktion vollständig beenden, bevor der zweite beginnt? Oder muss ich eine Callback-Funktion implementieren? – Luke

+0

Was in der Funktion enthalten ist, wird wie jede andere Funktion ausgeführt, sodass alertMe1 vollständig abgeschlossen wird, bevor alertMe2 abgeschlossen wird. Wenn Sie innerhalb von alertme1 eine Art asynchronen Aufruf (wie einen Ajax-Aufruf) hatten, würde dieser Vorgang nicht abgeschlossen sein, bevor alertme2 abgeschlossen ist. – MikeS

+0

Ich denke, das ist es, was ich versuche zu tun. Meine erste Funktion wird tatsächlich ein Skript ausführen, das eine Weile dauern kann. Wie würde ich sicherstellen, dass die erste Funktion vor dem zweiten Start abgeschlossen ist? – Luke

0

Eine Sache zu beachten die Javascript-Compiler ist es egal, in welcher Reihenfolge Sie Ihre Funktionen erklären, so lange, wie Sie sie deklarieren. Dann können Sie einfach eine Callback-Funktion verwenden, die als Argument an Ihre erste Funktion übergeben wird.

function alertMe1(callback) { 
     alert('hello here i am from alert 1'); 
     setTimeout(function() 
     { 
     callback(); 
     }, 3000); 

    } 

    function alertMe2() { 
     alert("and now 1 is done here is 2"); 
    } 

    $(document).ready(function() { 
     alertMe1(alertMe2); 
    }); 

Fiddle: https://jsfiddle.net/otzuc2oq/

+0

Was genau tut Callback()? Ist es eine vordefinierte Funktion in JQuery? – Luke

+0

@Luke nop, wenn Sie sehen, ich übergebe alertMe2 als Parameter an alertMe1, Callback() ist jetzt das gleiche wie alertMe2(); – Edward

Verwandte Themen