ОК. Я постараюсь как можно лучше объяснить свой случай.
По сути, у меня здесь есть эта функция, которая добавит приращение к моей панели выполнения начальной загрузки:
function progress(increment) {
f = parseInt(document.getElementsByClassName('progress-bar')[0].style.width);
document.getElementsByClassName('progress-bar')[0].style.width = (f + increment) +'%';
}
Теперь для каждого шага, например, есть 6 шагов, я должен постепенно разделить 100 на 6 шагов.
Например, если мы находимся на шаге 1: 100 / 6 = 16.67 each, значит, 16.67 нужно добавлять постепенно.
Так было бы так:
Step 1: Add 16.67
Step 2: Add 33.34
Step 3: Add 50.01
---- and the list go on
Итак, в моей программе есть переменные ff:
let current_step = 0;
let stepCount = 6
Итак, если я использовал функцию прогресса, я попытался разделить 100 на stepCount на current_step:
progress(100 / (stepCount - current_step)
Но это не решило проблему, и я получаю только странные цифры.
Есть идеи, какая здесь правильная формула, чтобы получить правильные числа для добавления на полосу выполнения?
PS. Извините, я надеюсь, что это не так запутано. Я попытался объяснить это как можно лучше.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ваш расчет неверен. Это должно дать вам правильное значение.
progress((100 / stepCount) * current_step);
function progress(value) {
document.getElementsByClassName('progress-bar')[0].style.width = `${value}%`;
}
или ты можешь сделать это вот так
progress(100 / stepCount);
function progress(increment) {
let f = +document.querySelector('.progress-bar')[0].style.width.slice(0, -1);
// I'm slicing the width to remove the `%`
document.getElementsByClassName('progress-bar')[0].style.width = `${f + increment}%`;
}
100 * (current_step / stepCount), так что вы идете к 100 равными шагами. В противном случае вы просто разделите на 6, затем на 5, затем на 4 и т. д.