如何在setInterval函数中生成第二个参数(duration)的随机持续时间值

时间:2013-09-20 14:36:58

标签: javascript

如何在setInterval函数中生成第二个参数(持续时间)的随机持续时间值。

 //such as



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

1 个答案:

答案 0 :(得分: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秒执行 。如果您想要更改,则需要使用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;
}