1

jQuery の .delay 関数に関するヘルプを探しています。サイトにポップアップ フォームがあり、2 ~ 3 分の間にランダムにポップアップさせたいと考えています。Math.random() の使用方法は理解していますが、それを使用して 120000ms から 180000ms の間の数値を生成する方法がわかりません。2 分間に設定された現在のコードは次のとおりです。

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

これについて何か助けていただければ幸いです。

4

3 に答える 3

3

それを行う1つの方法:

$(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

これは 1 つの方法です。120000 (2 分) の「ベース」があり、残りの 60000 (1 分) をランダム化するだけです。

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