質問: 1; break; } } } ```
回答: Imageオブジェクトの画像読み込みは非同期実行なので「if(img.width > 0)」のタイミングでロードが完了しているとは限りません。 ですので質問のコードは画像の読み込み状況に関係なく判断しようとしてしまいます。 ループで複数の連番ファイルを確認する場合は成功レスポンスを待ってから次を確認してください。 ちなみによくある画像の存在を判別する方法は下記の2パターンです。 ・Imageオブジェクトを利用して判別 ・XMLHttpRequestのHTTPレスポンスコードで判別 下記に両方の例がありますので参考にしてください。 JavaScriptで任意URLに画像が存在しているかを判定したい。 適当ですがループを回す例も置いておきますね ``` var ImagePath = new Array(); function imgCHK(num,cnt,url) { var img = new Image(); img.onload = function() { /* 読み込み成功時の処理 */ console.log('成功:'+url); ImagePath.push(url); cnt++; getImagePath(num,cnt); } img.onerror = function() { /* 読み込み失敗時の処理 */ console.log('失敗:'+url); } img.src = url; } function getImagePath(num,cnt){ imgCHK(num,cnt,"img/" + num + "/picture" + cnt + ".png"); } getImagePath(1,1); ```