1

我正在寻找有关 jQuery 的 .delay 函数的帮助。我的网站上有一个弹出表单,我想在 2-3 分钟之间随机弹出。我了解如何使用 Math.random(),但我不明白如何使用它来生成 120000 毫秒到 180000 毫秒之间的数字。这是我当前设置的两分钟代码:

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

对此的任何帮助将不胜感激!

4

3 回答 3

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;
于 2013-08-04T00:31:30.510 回答
1

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

于 2013-08-04T00:35:46.280 回答
0

这是一种方式;您的“基础”为 120000(两分钟),您只需随机化其余的 60000(一分钟)。

$(document).ready(function() {
    var delay = Math.floor(Math.random() * 60000) + 120000;
    $('#popup-main').hide().delay(delay).fadeIn(500)
});
于 2013-08-04T00:33:59.353 回答