2013-08-04 44 views
1

我在寻找一些关于jQuery的.delay函数的帮助。我在我的网站上有一个弹出窗体,我想在2-3分钟之间随机弹出。我知道如何使用Math.random(),但我不明白如何使用它来生成120000毫秒和180000毫秒之间的数字。这里是我现在的代码设置为两分钟:.delay()之间的随机数

$(document).ready(function() { 
    $('#popup-main').hide().delay(120000).fadeIn(500) 
}); 

任何帮助,这将不胜感激!这样做的

回答

2

方式一:

$(document).ready(function() { 
    var min = 120000, max = 180000; 
    var delay = Math.floor(Math.random() * (max - min) + min); 

    $('#popup-main').hide().delay(delay).fadeIn(500) 
}); 

或者,如果你想要更多的偶数:

var min = 12, max = 18; 
var delay = Math.floor(Math.random() * (max - min) + min) * 10000; 
0

这是一种方式;你有一个“基数”120000(两分钟),你只是随机其余60000(一分钟)。

$(document).ready(function() { 
    var delay = Math.floor(Math.random() * 60000) + 120000; 
    $('#popup-main').hide().delay(delay).fadeIn(500) 
}); 
1

你懂的Math.random(),所以你知道它返回0和1之间的值,如果你的最小值(120000)乘以该数值,你会得到0和120000之间的值。如果你乘以180000,你会得到一个介于0和180000之间的值。如果你乘以180000 - 120000,你会得到一个介于0和60000之间的值。然后你可以将它加到120000,会在你想要的范围内得到一个数字。