フラッシュカードのWebページを開発していますが、プリロードされた画像がいつロードされたか、エラーが発生したかを知りたいです。各画像のステータスを取得したら、いくつかのアクションを実行します。
私は自分のコードをstackoverflowの投稿に基づいています画像が読み込まれるのを待ってから先に進む
function loadSprite(src) {
var deferred = $.Deferred();
var sprite = new Image();
sprite.onload = function() {
deferred.resolve();
};
sprite.src = src;
return deferred.promise();
}
スプライトをロードする関数
var loaders = [];
loaders.push(loadSprite('1.png'));
loaders.push(loadSprite('2.png'));
loaders.push(loadSprite('3.png'));
$.when.apply(null, loaders).done(function() {
// callback when everything was loaded
});
ステータス結果を返すようにloadSprite解決を変更しました:
deferred.resolve("STATUS RESULT");
そしていつ
$.when.apply(null, loaders).done(function("STATUS RESULT") {
// callback when everything was loaded
//Do something with "STATUS RESULT"
});
問題は、の呼び出しごとに「ステータス結果」を分離できないことです。loaders.push(loadSprite(file to load));
つまり、の呼び出しごとに1つではなく、1つの変数しか返されません。loadSprite
私は上記のコードが機能することを期待していませんでした。何かを返すことができるということは、私自身へのデモンストレーションです。
私はこれを解決することができません、すべての援助はありがたいことに受け入れられました。ありがとうございました、