2009-07-15 18 views
0

Ich habe einen Timer, der eine Datei packt alle 10 Sekunden:eine Zufallszahl basierend auf einer anderen Variablen

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

ich auch einen Zufallszahlengenerator haben:

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

Ich habe auch eine variable die speichert die verbleibende Zeit:

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); 
} 

Was ich tun müssen, um eine neue Zufallszahl zu erzeugen, nachdem es läuft, von seco nds warten bis es wieder läuft. Ich brauche dieses Javascript, um zufällig zwischen 2 und 12 Sekunden zu laufen, und dann wieder zu einer neuen zufälligen Zeit zu laufen.

+0

Bitte formatieren Sie den Code mit der richtigen inden. – Gumbo

+0

Ich werde das von jetzt an tun, danke. – mrpatg

+0

Genaues Duplikat: http://stackoverflow.com/questions/1128503/javascript-random-number – jkeys

Antwort

1

Ich bin verwirrt darüber, was es ist, dass Sie alle 2-12 Sekunden ausführen möchten, und meistens erschreckt mich der Code, den Sie haben ... Eine Funktion, die sich einmal angerufen hat, nennt sich jede Sekunde für immer? Unheimlich.

Es sieht so aus, als ob Sie bereits alle Teile haben, die Sie brauchen, um Ihre Frage zu beantworten. Wenn Sie einige verzögern, müssen Sie Javascript Sie setTimeout verwenden können, und Sie haben Zufallszahlen bekam (obwohl ich denke, dass Ihr Ausdruck „runde“ muss eher als „Boden“):

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