とのforループを使用して、未定義のプロパティ「SRC」を読み込めません、私はこのコードを使用しています:は、コールバック
function init(){
var s = document.getElementsByClassName("seen");
for(var i = 0; i < s.length; i++) tint(image_seen, 93, 196, 82, 255, function(d){
s[i].src = d;
});
}
をクラス名と画像のためのデータのURLを設定します。関数tint()は画像に色を付けるために値を返しません。コールバックを使用してキャンバスに描画する必要があります。しかし、私はそれがsrc
のプロパティを未定義に設定することができないというエラーを受け取ります。 console.log(i)
は常に1
を返します。 (合計で1 img.seen
個の要素があります)。
これは私を狂ってしまう。どうしましたか?
検索すると、これはおそらくJSのfor-loopsに関する#1の質問です。 – dandavis
すべての関数が同じ変数を参照し、forループの最後にこの変数は 's.length'に等しくなります。これを処理するためにクロージャを使用します。詳細についてはこちらを見てください - http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example –