2 つのコンテナーがあり、それぞれがオブジェクト参照を渡す必要がある関数をトリガーします。この関数にはネストされた queue と setTimeout があり、適切なオブジェクトで実行するには、それらの両方にオブジェクト参照を渡す必要があります。
これは私が試したものです:
var pimg=parent.find('.prod_img'); // This is the object I actually need to pass;
pimg.children('img:last').queue((function(aaa){
return function() {
whatthe= (function (itema) {
return function() {
itema.children('img').each(function(){
alert(itema.attr('id'));
//alert used for debug.
$(this).stop(false,false).animate({opacity:0},400,function(){
});
});
}
})(aaa)
aaa.data('timeout',window.setTimeout("whatthe()", 400));
}
})(pimg)
);
ここで、両方のオブジェクトでこの関数をすばやくトリガーすると、同じ ID に警告が表示されます。これは、オブジェクト参照が渡されないことを示唆しています。
pimg は実際のオブジェクトであり、キュー参照では aaa と呼ばれ、setTimeout 参照では itema と呼ばれますが、これらはすべて同じオブジェクトを指していると考えられます。
アドバイスをいただければ幸いです。ありがとう