2013-08-04 6 views
1

Я ищу некоторую помощь с функцией jQuery .delay. У меня есть всплывающее окно на моем сайте, которое я хочу всплывать случайно между 2-3 минутами. Я понимаю, как использовать Math.random(), но я не понимаю, как использовать его для генерации числа между 120000 и 180000ms. Вот мой текущий код в течение двух минут:.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, Вы получите номер в пределах желаемого диапазона.

Смежные вопросы