2017-02-08 18 views
-1

JqueryのalertMe1AlertMe2の2つの別々の関数を呼び出そうとしています。私は正しい構文を理解することはできません。関数をインラインで定義したくないので、後でそれらをドキュメントで再利用する必要があります。また、alertMe2が起動する前に、最初の関数alertMe1が完全に終了する必要があります。私は間違って何をしていますか?1つのJQueryステートメントで複数の関数を実行する方法

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

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

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

答えて

0

通常どおりにあなたが関数を呼び出す:注意する

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

秒1が始まる前に、最初の機能が完全に終了しますか?または、コールバック関数を実装する必要がありますか? – Luke

+0

関数内に含まれるものは、他の関数と同様に実行されるため、alertMe1が完了してからalertMe2が完了する前に完全に完了します。 alertme1内に何らかの非同期呼び出し(ajax呼び出しのような)があった場合、alertme2が完了する前に完了しません。 – MikeS

+0

私はそれが私がやろうとしていることだと思います。私の最初の機能は、実際にはスクリプトの実行に時間がかかることがあります。 2番目の起動前に最初の関数が完了したらどうすればよいでしょうか? – Luke

0

ことの一つは、Javascriptのコンパイラは、あなたがそう長くあなたがそれらを宣言すると、あなたの関数を宣言どのような順序を気にしないです。次に、最初の関数に引数として渡されるコールバック関数を使用するだけです。

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); 
    }); 

フィドル: https://jsfiddle.net/otzuc2oq/

+0

callback()は正確に何ですか?それはJQueryのあらかじめ定義された関数ですか? – Luke

+0

@ルークnop、alertMe2をalertMe1にパラメータとして渡しているように見える場合、callback()はalertMe2()と同じものになります。 – Edward

関連する問題