如何在Jquery中实现真正的随机性?

时间:2017-05-03 15:50:10

标签: javascript jquery

我正在尝试编写一个小脚本,每隔25到60秒就会在我的页面上随机放置一个项目。

以下代码会将d​​iv随机添加到我的页面,但之后的每次出现都会在同一时间执行。

例如,如果脚本从44秒开始,它将每44秒添加一个新div,而不是随机添加。

如何实现真正的随机性?

var contentDiv = ['firstDiv','secondDiv'];
function popDiv(min, max) {
    var timedDiv =  contentDiv[Math.floor(Math.random() * (max - min + 1) + min)];
    jQuery( "#" + timedDiv ).fadeIn( "slow" ).delay(4000).fadeOut("slow");
}

popDiv(1, contentDiv.length - 1)

setInterval(function(){
    popDiv(1, contentDiv.length - 1);
},  
Math.round(Math.random() * (60000 - 15000)) + 15000);

1 个答案:

答案 0 :(得分:2)

这是一般原则:

let maxTime = 60000,
    minTime = 25000,
    doSomething = function () {
      // do something...
      setTimeout(function(){
        doSomething();
      }, Math.random() * (maxTime - minTime) + minTime)
   };
doSomething();