我写了这个简单的jQuery脚本来弹出我的#popup
div,但不是每2个或3个我想要的时间都用Math.random()
生成,这是代码,但是不幸的是它不起作用
$(document).ready(function(){
function pop(){
$('#popup').show();
$('#content').addClass('blur');
};
setTimeout(pop,el);
$('#x').click(function(){
$('#popup').hide();
$('#content').removeClass('blur');
});
var el = Math.floor(Math.random() * 5000);
})
答案 0 :(得分:1)
如您所知,Math.random()
将返回一个介于0
和1
之间的数字。
JavaScript控制台
>> Math.random()
<- 0.8419219077751203
如果要使用更大的随机数,可以使用乘数。对于毫秒,在1000
秒中有1
,因此,如果我们想在0
和1000
之间随机选择毫秒数,可以将结果乘以{{1 }}。
1000
我们实际上只是在移动小数点。现在,如果我们想要2秒到3秒之间的随机毫秒数,我们可以添加>> Math.random() * 1000
<- 188.6188679027202
进行补偿。现在,它不在2000
和0
之间,而是在1000
和2000
之间。
3000
现在,您必须确定剩余的小数位数。您可以>> (Math.random() * 1000) + 2000
<- 2494.96714163502
或Math.round()
。
Math.floor()
1毫秒不会对您的计时器造成太大的影响,因此您可以随意使用。
因此,如果您需要2到3秒之间的随机毫秒数,就可以了。如果您需要创建更多随机计时器,请参阅其他发布的答案。这样会在>> Math.round(2494.96714163502)
<- 2495
>> Math.floor(2494.96714163502)
<- 2494
和0
之间创建一个范围,其中n
不为0且不小于0,并且为底数(n
):
b
JavaScript
>> Math.floor((Math.random() * (3000 - 2000)) + 2000)
<- 2556
希望有帮助。
答案 1 :(得分:0)
function randomIntFromInterval(min, max) // min and max included
{
return Math.floor(Math.random() * (max - min + 1) + min);
}
randomIntFromInterval(3000, 5000);
这是3秒到5秒之间的随机间隔。
如果您希望在2到3秒钟之间完成,请输入:
randomIntFromInterval(2000, 3000);
值(2000,3000)是毫秒。