Решение 1:
просто измените временной интервал, после которого случайное число уменьшается на единичный шаг (ie: 1), чтобы указать шаг по времени, необходимый для случайного числа, равного 0, когда время вверх уравнение будет следующим: {задержка перед вычитанием 1 из ранда # (в се c) = время, прошедшее до того, как ранд # достигнет 0 (в се c) / ранд #}
пример:
1) rand # = 300, необходим для обратного отсчета до достижения 0 через 2 минуты (120se c), затем 300 необходимо для обратного отсчета 1 каждые 120/300 se c
var count = 300 // your randomly generated number;
var time = 60 //time elapsed before the random number to equal 0;
var timer = setInterval(function() {
count = count -1;
console.log(count);
if( count <= 0) {
count = 0;
clearInterval(timer);
}
},(time/count)*1000);
Решение 2:
изменить единичный шаг, на котором случайное число уменьшается каждую секунду, пока не достигнет 0 после истечения заданного времени. уравнение будет выглядеть следующим образом: {случайный # шаг уменьшения = ранд # / время, истекшее до тех пор, пока ранд # не достигнет 0 (как таковой c)}
ex:
1) ранд # = 300, необходимо считать до достижения 0 в 1 минуту (60 с c), затем 300 нужно считать до 300/60 каждый 1 с c
var count = 300 // your randomly generated number;
var time = 20 //time elapsed before the random number to equal 0;
var decrementStep=count/time;
var timer = setInterval(function() {
count = count - decrementStep;
console.log(count);
if( count <= 0) {
count = 0;
clearInterval(timer);
}
},1000);