2009-07-15 57 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)