-3

setInterval 関数の第 2 引数 ( duration ) のランダムな期間値を生成する方法。

 //such as



 var timerId = setInterval( timer_counter,getRandomInt(5,60),number,slatt);
4

1 に答える 1

1
var n = 10, // max value
    r = Math.floor(Math.random() * n) + 1; // random number (1-10)
setInterval(function(){
  timer_counter();
}, r * 1000); // to milliseconds

あなたが探しているのは、Math.random()私は信じています (と一緒にMath.floor)。

注:r (たとえば) 3 の場合、その間隔の間、 3 秒ごとに実行されます。変更したい場合は、 a を使用してsetTimeout、すべての呼び出しでタイムアウトを変更する必要があります。それを行うには:

function worker(){
  // the code that should be executed
}
function repeat(){
  var n = 10; // every 1-10 seconds
  setTimeout(function(){
    worker();
    repeat();
  }, (Math.floor(Math.random() * n) + 1) * 1000);
}();

そして、そのgetRandomInt機能を提供するには:

function getRandomInt(nMax, nMin){
  nMax = nMax || 10;
  nMin = nMin || 0;
  return Math.floor(Math.random() * (nMax - nMin + 1)) + nMin;
}
于 2013-09-20T14:40:57.493 に答える