Заполнение круга в прогресс баре с нужного процента

Есть прогресс бар. Он идёт с 55% до 100%, но круг заполняется как будто с 0%.

Как сделать что бы заполнялся должным образом?

let circle = null
const text = document.querySelector('.text');

function refreshCircle(percentage) {
  if (!circle) {
    circle = new ProgressBar.Circle(container, {
      color: '#000',
      // This has to be the same size as the maximum width to
      // prevent clipping
      strokeWidth: 4,
      trailWidth: 10,
      easing: 'easeInOut',
      duration: 6000,
      text: {
        autoStyleContainer: false
      },
      from: {
        color: '#ff9a89',
        width: 10
      },
      to: {
        color: '##ff9a89',
        width: 10
      },
      // Set default step function for all animate calls
      step(state, circle) {
        circle.path.setAttribute('stroke', state.color);
        circle.path.setAttribute('stroke-width', state.width);

        const value = Math.round(circle.value() * 100 + 55);

        if (value >= 55 && value <= 71) {
          circle.setText(value);
          text.innerHTML = 'Адаптация плана Марафона к Вашему плотному графику';
        }

        if (value >= 72 && value <= 89) {
          circle.setText(value);
          text.innerHTML = 'Подбор подходящих Вам рецептов и тренировок';
        }
        if (value >= 90 && value <= 100) {
          circle.setText(value);
          text.innerHTML = 'Ваша индивидуальная программа похудения готова!';
        }

      }
    });
    circle.text.style.fontFamily = '"Raleway", Helvetica, sans-serif';
    circle.text.style.fontSize = '3rem';
  }

  circle.animate(percentage);
}

refreshCircle(0.55)
setTimeout(() => refreshCircle(1.0), 3000)
#container {
  position: relative;
  width: 200px;
  height: 200px;
}

.wrapper {
  width: 200px;
  height: 200px;
  text-align: center;
  position: relative;
}

.text {
  font-size: 30px;
  line-height: 2.14;
  text-align: center;
  text-transform: capitalize;
  color: #000000;
}
<script src="https://rawgit.com/kimmobrunfeldt/progressbar.js/1.0.0/dist/progressbar.js"></script>
<link href="https://fonts.googleapis.com/css?family=Raleway:400,300,600,800,900" rel="stylesheet" type="text/css">

<div class="wrapper">
  <div id="container"></div>
  <div class="text"></div>
</div>


Ответы (1 шт):

Автор решения: Алексей

В документации написано, как установить начальный % прогресса.

const text = document.querySelector('.text');

const circle = new ProgressBar.Circle(container, {
  color: '#000',
  // This has to be the same size as the maximum width to
  // prevent clipping
  strokeWidth: 4,
  trailWidth: 10,
  easing: 'easeInOut',
  duration: 6000,
  text: {
    autoStyleContainer: false
  },
  from: {
    color: '#ff9a89',
    width: 10
  },
  to: {
    color: '##ff9a89',
    width: 10
  },
  // Set default step function for all animate calls
  step(state, circle) {
    circle.path.setAttribute('stroke', state.color);
    circle.path.setAttribute('stroke-width', state.width);

    const value = Math.round(circle.value() * 100);

    if (value >= 0 && value <= 71) {
      circle.setText(`${value}%`);
      text.innerHTML = 'Адаптация плана Марафона к Вашему плотному графику';
    }

    if (value >= 72 && value <= 89) {
      circle.setText(`${value}%`);
      text.innerHTML = 'Подбор подходящих Вам рецептов и тренировок';
    }
    if (value >= 90 && value <= 100) {
      circle.setText(`${value}%`);
      text.innerHTML = 'Ваша индивидуальная программа похудения готова!';
    }
  }
});

function refreshCircle(percentage, from = 0) { // если не задано значение, начинаем с 0%
  circle.text.style.fontFamily = '"Raleway", Helvetica, sans-serif';
  circle.text.style.fontSize = '3rem';
  const progress = from / 100;
  circle.set(progress);
  circle.animate(percentage);
}

refreshCircle(1.0, 55) // второй параметр - % начала прогресса
#container {
  position: relative;
  width: 200px;
  height: 200px;
}

.wrapper {
  width: 200px;
  height: 200px;
  text-align: center;
  position: relative;
}

.text {
  font-size: 30px;
  line-height: 2.14;
  text-align: center;
  text-transform: capitalize;
  color: #000000;
}
<script src="https://rawgit.com/kimmobrunfeldt/progressbar.js/1.0.0/dist/progressbar.js"></script>
<link href="https://fonts.googleapis.com/css?family=Raleway:400,300,600,800,900" rel="stylesheet" type="text/css">

<div class="wrapper">
  <div id="container"></div>
  <div class="text"></div>
</div>

→ Ссылка