2013-08-04 42 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,會在你想要的範圍內得到一個數字。