2009-07-15 56 views
0

我有抓住每10秒一個文件一個計時器:基於隨機數的另一個變量

if((Timer%10=="0")||(Timer=="1")){ 

我也有一個隨機數發生器:

var randomNum = Math.floor(Math.random() * 10) + 2; 

我也有一個變量其中存儲了剩餘時間:

Timer=0; 
function countdown(auctionid) 
{ 
    var auctions; 
    var divs; 

    Timer=Timer+1; 

    if((Timer%10=="0")||(Timer=="1")){ 
     $.get("current.php", {id:auctionid}, 
      function(data) { 
       auctions=data.split("||"); 
       for(n=0;n<=auctions.length;n++) 
       { 
        if(auctions[n] != undefined) 
        { 
         divis=auctions[n].split("##"); 
         $('#futu'+divis[0]).html(divis[1]); 
        } 
       } 
      } 
     ); 
    } 
    var cauctionid="auctionid"; 
    var tauctions=auctionid.split("|"); 
    for(i=0;i<=tauctions.length;i++) 
    { 
     if(tauctions[i] != undefined) 
     { 
      var dd=$('#futu'+tauctions[i]).text(); 
      var cdd=dd-1; 
      $('#futu'+tauctions[i]).html(cdd); 

      dd=dd*1000; 
      dday=Math.floor(dd/(60*60*1000*24)*1) 
      dhour=Math.floor(dd/(60*60*1000)*1) 
      dmin=Math.floor((dd%(60*60*1000))/(60*1000)*1) 
      dsec=Math.floor(((dd%(60*60*1000))%(60*1000))/1000*1) 

      if(dday==0&&dhour==0&&dmin==0&&dsec==0) { 
       $('#Bid'+tauctions[i]).html("SOLD"); 
       //return 
      } 
      if(dhour <=9) 
      { 
       dhour = "0"+dhour; 
      } 
      if(dmin <=9) 
      { 
       dmin = "0"+dmin; 
      } 
      if(dsec <=9) 
      { 
       dsec = "0"+dsec; 
      } 

      if(dd>=1000) 
      { 
       var valll=dhour+":"+dmin+":"+dsec; 
      } 

      if(dd<1000) 
      { 
       var valll="00:00:00"; 
      } 

      $('#Bid'+tauctions[i]).html(valll); 
     } 
    } 
    refreshID=setTimeout("countdown('"+auctionid+"')",1000); 
} 

我需要做的是在運行後生成一個新的隨機數seco等到它再次運行。我需要這個Javascript在2到12秒之間隨機運行,然後再次運行,隨機時間。

+0

請適當縮進格式化你的代碼。 – Gumbo 2009-07-15 18:23:44

+0

從現在開始我會這樣做,謝謝。 – mrpatg 2009-07-15 18:43:28

+0

完全重複:http://stackoverflow.com/questions/1128503/javascript-random-number – jkeys 2009-07-16 05:59:46

回答

1

我很困惑你想每2-12秒運行一次,主要是你的代碼嚇到我了......曾經被稱爲一種函數,每秒鐘會自動調用它自己的函數?害怕。

看起來您已經擁有了所有需要回答問題的作品。如果您需要推遲一些JavaScript可以使用setTimeout的,和你有隨機數(雖然我認爲你的表達需要「圓」,而不是「樓」):

setTimeout(functionNameOrAString, Math.round(Math.random() * 10) + 2)