2016-08-03 14 views
0

私はJS/Jqueryの初心者です。設定された間隔でランダムな場所に画像を表示しようとしています(例えば、 a-moleゲーム)は、現在3秒ごとに繰り返すように設定されていますが、1秒から2秒までのランダムな時間に画像を表示したいと考えています。私は3000msの代わりにroleTime変数を使用しようとするが、それだけでイメージが急速にそれが中に含まれているdiv要素を埋める原因JQuery/JavaScript:乱数ジェネレータをsetInterval()タイマーとして使用する

var roleTime = Math.floor(Math.random()*(2000-1000)); 
     setInterval(function(){ 
      randRole(); 

     }, 3000); 

:ここ

は私が問題を抱えているコードです。

+3

'1000-2000'は負の数です。これは、インターバル時間として' -1000'を渡していることを意味します – nem035

答えて

1

setIntervalは、1つのインターバル値(コールバック間のおおよそ同じ間隔)しか使用できません。しかし、あなたが代わりに繰り返しsetTimeoutを使用することができます。

function cycle() { 
    setTimeout(function() { 
     randRole(); 
     cycle(); 
    }, 1000 + Math.floor(Math.random() * 2000)); 
} 
cycle(); 

はまた、それが(包括的)1000および3000(排他)の間の乱数を計算する方法に注意してください:それは(包括的)0と2000の間の乱数を追加し、その後1000年を取ります(排他的)。

関連する問題