次のjQueryコードがあります:
$content.each(function(i) {
$body = $(this);
$(this).find('div.field-content')
.animate(
{
'top': 0
},
{
duration: 500,
complete: function () {
$(this).css('top', 0);
setBodyGradient($body);
}
}
);
});
私の場合$content
、5つのアイテムがあります。問題は、最後の反復で、 のアニメーション完了コールバックがまだ発生していないようであり、発生すると、コールバックが作成された時点ののバージョンではなく、 の$content.eq(0)
最新バージョンが5 回$body
送信されることです。 .setBodyGradient
$body
私は Drupal で JQuery 1.4.4 を実行していると言わざるを得ないので、おそらくこれは最新の JQuery で修正されたバグですか、それとも機能ですか?
代わりに使用することで回避できることはわかっていますが、$content.eq(i)
これが設計によるものなのか、バグのある動作なのか、推奨される方法は何ですか? 常に使用する必要があります$content.eq(i)
か?