Javascript 如何在Jquery中实现真正的随机性?
我正在尝试编写一个小脚本,每25到60秒在我的页面上随机放置一个项目 下面的代码将随机地将div添加到我的页面中,但之后的每个事件都会在同一时间执行 例如,如果脚本在44秒开始,它将每44秒添加一个新div,而不是随机添加 如何实现真正的随机性Javascript 如何在Jquery中实现真正的随机性?,javascript,jquery,Javascript,Jquery,我正在尝试编写一个小脚本,每25到60秒在我的页面上随机放置一个项目 下面的代码将随机地将div添加到我的页面中,但之后的每个事件都会在同一时间执行 例如,如果脚本在44秒开始,它将每44秒添加一个新div,而不是随机添加 如何实现真正的随机性 var contentDiv = ['firstDiv','secondDiv']; function popDiv(min, max) { var timedDiv = contentDiv[Math.floor(Math.random()
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);
以下是一般原则:
let maxTime = 60000,
minTime = 25000,
doSomething = function () {
// do something...
setTimeout(function(){
doSomething();
}, Math.random() * (maxTime - minTime) + minTime)
};
doSomething();
设置间隔延迟后,无法更改间隔延迟,因此。。。也许间隔不是您想要的。请使用setTimeout而不是setInterval,并在每次调用popDiv时调用它。谢谢。“稍微重新安排一下,它就如预期的那样工作了。@FGatlin,很高兴我能帮上忙。”。快乐编码!