我正在寻找jQuery的.delay函数的一些帮助。我的网站上有一个弹出窗体,我想在2-3分钟之间随机弹出。我理解如何使用Math.random(),但我不明白如何使用它来生成120000ms和180000ms之间的数字。这是我目前的代码设置为两分钟:
$(document).ready(function() {
$('#popup-main').hide().delay(120000).fadeIn(500)
});
非常感谢任何帮助!
答案 0 :(得分:3)
一种方法:
$(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;
答案 1 :(得分:1)
你理解Math.random(),所以你知道它返回一个介于0和1之间的值。如果你将该值乘以最小值(120000),你将得到一个介于0和120000之间的值。如果你改为乘法它由180000,你得到一个介于0和180000之间的值。如果你把它乘以180000 - 120000,你将得到一个介于0和60000之间的值。然后你可以添加到120000,你会得到一个数字在你想要的范围内。
答案 2 :(得分:0)
这是一种方式;你有一个120000(两分钟)的“基数”,你只需将其余的60000(一分钟)随机化。
$(document).ready(function() {
var delay = Math.floor(Math.random() * 60000) + 120000;
$('#popup-main').hide().delay(delay).fadeIn(500)
});