画像が3枚ある場合。アニメーションは同時に 3 回実行されます。Cuz 私は 30 と 100 の値で 1 回何かをしたいです。これの解決策はありますか。
img.each(function(e){
var image = $(this);
image.load(function(){ // load 3 images
currentValue += eachOfImg; // eachOfImg = 100/3
jQuery({someValue: startValue}).animate({someValue: currentValue}, {
duration: 3000,
step: function() {
console.log('currentValue:',this.someValue);
if(someValue == 30) // do something
if(someValue == 100) // do something
$('.text').text(Math.ceil(this.someValue) + "%");
}
});
});
});
Chrome コンソールの出力は次のとおりです。
(3) currentValue: 0
(8) currentValue: 1
currentValue: 2
(2) currentValue: 1
currentValue: 2
currentValue: 1
(2) currentValue: 2
currentValue: 1
(2) currentValue: 2
currentValue: 1
currentValue: 2
currentValue: 3
currentValue: 1
currentValue: 2
私はそれが期待します:
currentValue: 0
currentValue: 1
currentValue: 2
currentValue: 3
currentValue: 4
currentValue: 5
currentValue: 6
currentValue: 7
currentValue: 8
currentValue: 9
...
ありがとう