Случайный номер Javascript?
У меня есть следующий script:
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);
}
В строке, которая гласит: если ((Таймер 10% == "0" ) || (Таймер == "1" )) {
Как сделать 10, случайное число между 2 и 12?
Ответы
Ответ 1
Вы хотите использовать функцию random()
. Нет версии, которая, к сожалению, возвращает целое число, только с плавающей точкой от 0 до 1, поэтому вам нужно выполнить несколько операций. Попробуйте следующее:
var randomNum = Math.floor(Math.random() * 10) + 2;
Это должно генерировать случайное целое число между 2 (включительно) и 12 (исключение). Измените 10-11, если вы хотите, чтобы 12 были включительно, конечно.
Ответ 2
См. ответы на этот question, который также позволяет установить начальное значение.
Ответ 3
Использование Web Crypto api.
console.log(
crypto.getRandomValues(new Uint32Array(1))[0] ,
crypto.getRandomValues(new Uint16Array(1))[0] ,
crypto.getRandomValues(new Uint8Array(1))[0]
)