各ループの動作を理解するのに苦労しています。
これが私のコードです:
$.each(thumbs, function() { // where thumbs is array of strings
project = this;
$('#gallery').append(
'<li>'
+ '<a href="/portfolio/' + project + '">'
+ '<img src="/img/' + project + '_bw.jpg" id="' + project + '_bw" />'
+ '<img src="/img/' + project + '_tn.jpg" id="' + project + '_tn" />'
+ '</a>'
+ '</li>'
);
// alert(project); - alerts every element of array as expected
$('#' + project + '_bw').load(function() {
// alert(project); - alerts only the last element of array,
// but as many times as many elements in array
$('#' + project + '_bw').fadeIn(150,function(){
$('#' + project + '_tn').css("opacity", 1);
});
});
});
問題は、.load 関数を実行したい要素の id を定義しようとしているときに、ループしている配列の最後の要素にのみこの関数をアタッチすることです。