fadeOut 関数のコールバック関数に k の値を渡すことができません。私のループは以下のとおりです。
for(var k=0;k<image1.length;k++)
{
$(img[k]).fadeOut(200,function(k) {
alert(k);
$(this).attr('src', image2[k]);
$(this).fadeIn(200);
});
}
fadeOut 関数のコールバック関数に k の値を渡すことができません。私のループは以下のとおりです。
for(var k=0;k<image1.length;k++)
{
$(img[k]).fadeOut(200,function(k) {
alert(k);
$(this).attr('src', image2[k]);
$(this).fadeIn(200);
});
}
jQueryfadeOut
関数は、引数なしでコールバック関数を受け取ります。jQueryのドキュメントから、「コールバックには引数が送信されません」。の値をキャプチャする場合はk
、次のようにします。
for(var k=0;k<image1.length;k++) {
(function(k) {
$(img[k]).fadeOut(200,function() {
alert(k);
$(this).attr('src', image2[k]);
$(this).fadeIn(200);
});
})(k);
}
コールバックが変数にアクセスできるようにするには、次のようにする必要があります。
for (var k = 0; k < image1.length; k++) {
(function(k) {
$(img[k]).fadeOut(200, function() {
alert(k);
this.src = image2[k];
$(this).fadeIn(200);
});
})(k);
}