@artr_lr

Почему такое расхождение в текущим временем в потоке выполнения кода?

var end, 
    start = performance.now(),
    flag = false, 
    stop = false;

button.onclick = function(e){	
    if(!flag){ // play
        start = performance.now() - start;
        prgs(function(time, duration){
            div.style.width = time*100/duration + '%';
        }, 3000);
    }
    else { // stop
        end = performance.now() - start;
        time.innerHTML = end;
    }
    flag = !flag;
    stop = !stop;
}


Собственно, при нажатии на кнопку - запускается анимация типа прогресс бара, при ещё одном нажатии - прогресс бар ставится на паузу и рядом с кнопкой должно выводиться число - показывающее в какое время в интервале от 0 до 3000(столько длится анимация прогресс бара) мы на паузу поставили.
При первом нажатии всё срабатывает чётко - полоска прошла пол пути, время - примерно 1500. При повторном нажатии, значение уже пляшет... условно прогресс бар прошёл ещё четверть, итого 3/4, должно быть 2250 где-то, а показывает будто прошло 3000 и более, что по идее не должно быть. В чём причина?
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы