可能性の重複:基本的に
Multiple ajax calls inside a each() function.. then do something once ALL of them are finished?jQueryの:(負荷を含む)(それぞれの後にコードを実行)が完全だ終了
、Iはそれぞれ()ループの後に機能を実行します各ループのload()を完全に終了します。各リンクを読み込むのに時間がかかり、ブラウザが追いつくのを待っていますが、スクリプトはすでに次のステップに移動しています。何か案は?
jQuery('#theId a').each(function() { // contains many links
toLoad = jQuery(this).attr('href');
jQuery('#containment').load(toLoad, function(response) {
//do stuff
});
});
//... Do stuff after the above is really complete.
each()のindexパラメータを使用してオブジェクトをカウントダウンし、条件のロードのコールバックを使用します。 – ggzone
これを行う最善の方法は、遅延オブジェクトを使用することです。私は例を掲載しようとしていたが、上記のリンクを見た。その質問の一番上の答えを使用してください。 –
最後の要素( '$( 'a:last')。addClass( 'lastlink');')にクラスを追加してから、すべてのリンクを繰り返してload()を実行しているときに、 load()コールバックから実行するすべての要素を含む関数を呼び出すだけで、以前割り当てたクラス( 'lastlink')を持っている要素があるとします。 – j08691