Javascript 将计数计时器随机化以在特定时间段内完成

Javascript 将计数计时器随机化以在特定时间段内完成,javascript,jquery,Javascript,Jquery,我有一个简单的计数计时器,它将计数到指定的数字,并在一段时间(65秒)后完成。我想知道如何将计数随机化一点,使它在某些点计数更快,在其他点计数更慢,但仍能在指定的结束时间完成。这是我用来计数的函数。maxCount是动态的,但在本例中我只是将其设置为101 我在这里设置了一个JSFIDLE: 函数fillCounter(){ var-maxCount=101; var间隔=65000/最大计数; var=0; 计数(); 函数计数(){ 如果(val尝试将间隔设置为随机 函数fillCount

我有一个简单的计数计时器,它将计数到指定的数字,并在一段时间(65秒)后完成。我想知道如何将计数随机化一点,使它在某些点计数更快,在其他点计数更慢,但仍能在指定的结束时间完成。这是我用来计数的函数。maxCount是动态的,但在本例中我只是将其设置为101

我在这里设置了一个JSFIDLE:

函数fillCounter(){
var-maxCount=101;
var间隔=65000/最大计数;
var=0;
计数();
函数计数(){

如果(val尝试将间隔设置为随机

函数fillCounter(){
var-maxCount=101;
var间隔=65000/最大计数;
var=0;
计数();
函数计数(){

如果(val感谢NullPointerException,唯一的问题是它没有考虑到65秒。这是我正在努力解决的问题,如何将计数随机化,但仍能在65秒内完成。用另一个提琴更新了答案,是的。这会起作用。我必须做一些调整,因为我正在计算的数字是doesn不一定等于它必须计算的时间长度,但我可以加上它。谢谢。是的,这是肯定的,因为这一次只计算到65
function fillCounter() {
var maxCount = 101;
var interval = 65000/maxCount;
var val = 0;
count();
function count(){
    if ( val <= maxCount ){
        val++;
        $('.results-number').html(val);
        setTimeout(count,interval);
    }
}
}
function fillCounter() {
var maxCount = 101;
var interval = 65000/maxCount;
var val = 0;
count();
function count(){
    if ( val <= maxCount ){
        val++;
        $('.results-number').html(val);

        setTimeout(count,interval);

        var plusOrMinus = Math.random() < 0.5 ? -100 :100;
        console.log(plusOrMinus);
        interval =  (interval + Math.floor((Math.random())+plusOrMinus));

        console.log(interval);
    }
  }
}
fillCounter();
var count = 65;
var counter = setInterval(timer, 1000); 
function timer() {
counting();
count = count - 1;
   if (count <= 0) {
    clearInterval(counter);
    return;
 }

 }
  var val = 0;

  function printer() {
    val++;
     $('.results-number').html(val);
  }

 function counting() {
   var multi = Math.random() < 0.5 ? 1 : 10000;

   interval = Math.floor((Math.random() * multi));

    console.log(interval);
    setTimeout(printer, interval);
 }