これは間違った質問です。私は.eachを使用して画像のコレクションをループし、各画像のメモリ負荷をかけて実際の幅と高さを確認しています。次に、これらの図を使用して配列に値を設定します。問題は、私の仕事を続けるためにループが完了するまで待つことです。jquery .each()ループが終了するのを待つ
$.each(items, function(){
$('<img/>').attr('src', $(this).attr('src')).load(function(){
myArray.push(this.width);
myArray.push(this.height);
});
});
console.log(myArray.length);
.eachループが完了する前にconsole.logが実行されていると思われるため、コンソールには常に0が記録されます。それは正しいでしょうか?そしてどうやってそれを丸めるのですか?本当にありがとう。
'$ .each'は非同期ではなく、' .load'はです。 –
イメージは非同期にロードされるので、どのように処理する必要がありますか?画像の読み込みが完了するたびに、 'push'の直後に呼び出しを入れて配列の長さを記録することができます。または、Rodyが同期呼び出しを代わりに行うことを提案したからです。どんなふるまいが必要ですか?明らかに、あなたはあなたの質問の状態よりも多くをやろうとしています。 – mrtsherman
最後のゲームでは、数とサイズが変わる可能性のあるいくつかの画像をロードし、両方の上限と上限を見つけるためにすべての幅と高さを比較する必要があります。私はまた、コードにさらに使用するために、配列に幅と高さの両方を格納する必要があります。 –