У меня есть панель загрузки, которую я создаю, и я передаю разные миллисекунды и параметры стиля в var barMovement.
Моя проблема в том, что в функции setTimeout последние параметры, которые имеют время 100 миллисекунд, не выводятся последними.
Когда я консоль веду журнал, результаты получаются как 100, 200, 200, 100, 200, 300, тогда как должно быть 100, 200, 200, 200, 300, 100 strong. >.
Если я правильно понимаю, последний параметр 100 выводится первым, потому что он быстрее, но есть ли исправление для этого или способ сделать задержку setTimeout до завершения предыдущего цикла setTimeout?
Спасибо!
function BarSequence(style){
this.style = style
this.move = function(styles) {
var i = 0;
for(len = styles.length; i < len; i++){
(function loopy(index) {
setTimeout(function() {
console.log(style[index])
}, i * style[index][0]);
})(i);
}
}
}
var barMovement = new BarSequence([
[100, { width: '10%' }],
[200, { width: '20%' }],
[200, { width: '50%' }],
[200, { width: '80%' }],
[300, { width: '90%' }],
[100, { width: '100%' }]
]);
barMovement.move(barMovement.style);
i
вi * style[index][0]
? - person ibrahim mahrir   schedule 23.02.2017