2016-12-20 7 views
0

jQueryのまったく新しい機能です。私は欲しいものをする機能を持っています...ほとんど。それはこのように始まる:関数は、指示されたときの代わりにdocument.readyで実行されます。

var myFunction = function() { 
    "use strict"; 

    jQuery(function ($) { 

    //various things 

    }); 

}; 

物事は、この他の機能が発生したとき、私はそれを呼びたい、です:文書の準備ができているとき

jQuery(function ($) { 
    "use strict"; 

    $(document).ready(function() { 
     anotherFunction; 
     myFunction; 
    });  

}); 

代わりに、それ自体によって最初の関数というランを思わ、anotherFunctionは2番目の瞬間にのみ呼び出されます。

最初の関数の開始方法によって異なりますか?それは良いスタートですか?私は例と解決策を見回しましたが、jQueryで関数を開始する方法が非常に多くあり、どちらが必要なのかわかりませんでした。

これらの2つの機能をフレーム化して、2番目の機能が呼び出されるまで最初の機能が実行されないようにすることはできますか?

は、私はあなたが行きたい場所

+0

2番目のコードに基づいて、$(document).readyの内部でmyFunctionを呼び出しています。 – Ducain

+0

良い点。私はコードの周りにたくさんの 'console.log'を入れました。そして、実際には、これは第二の関数が考慮される前でも独立しているようです。私は今何を意味するのかを上に示すコードを修正しています。 – nico

答えて

0
function one() { 
    //Do stuff 
}; 

function two() { 
    one(); //Calls first function 

    //Do other stuff 
} 

$(document).ready(function() { 
    two(); //Executes second function on doc ready 
}); 

これはあなたを得ることができます...私はjQuery(function ($)少しそれ以外のブラウザが私に$ is not a functionを伝える必要があります知っています。あなたが何かをdocの準備ができて実行したくない場合は、その部分を取り除くことができます。

+0

これはきれいで論理的です...しかし、どうすれば "$は関数ではありません"というメッセージを避けることができますか?私は 'jQuery(function($)'をオリジナルのコードのように各関数内に置くべきでしょうか?あるいは、代わりにjjファイル全体の単一の 'jQuery(function($)')しかし、この余計な疑問は無視できます。なぜなら、 'var =' ??と一緒に関数を開始するようなスニペットがたくさんあるからです。 – nico

+0

すべての関数を単一のjQuery(関数($))にラップします。 実際これも必要ありませんjqueryライブラリのみを使用している場合は、と別のスクリプトタグで直接$を使用することもできます。 jqueryはhttp://learn.jquery.com/about-jquery/ – Ninja

+0

からjqueryを学ぶことができます。ここで提案するようにスクリプトを修正しました。しかし、関数の1つがexterを呼び出します – nico

関連する問題