БлогNot. Javascript: 6 из 49 или другой выбор чисел из набора

Javascript: 6 из 49 или другой выбор чисел из набора

Какая-то старая штучка, оставшаяся от какого-то выбора "6 из 49", как в советской лотерее, жалко выбрасывать, пусть будет.

Код примерно как здесь, только на яваскрипте, без замыканий и this.id, зато простой.

Количество выбираемых чисел читается из первого элемента (до слова "из"), количество чисел, из которых выбираем - из второго (предельное значение 50).

Числа выбираются "по кругу", то есть, первое не станет больше второго, а второе сбросится в единицу по достижении верхнего предела.

Ниже показаны скрипт в работе и исходник.

Извините, для работы приложения нужен включённый Javascript

Кликните здесь или по любому из чисел
6 из 49

<script type="text/javascript">
 function numbers (idn,idm,idres) {
  var numbercount=parseInt(document.getElementById(idn).innerHTML);
  var maxnumbers=parseInt(document.getElementById(idm).innerHTML);
  var arr = new Array (numbercount);
  var value,duplicate,j;
  for (var i = 0; i < numbercount; i++) {
   for ( ; ; ) {
    value = 1 + Math.floor(Math.random()*maxnumbers);
    duplicate= 0;
    for ( j = 0; j < i; j++) {
     if (value == arr[j]) { duplicate = 1; break; }
    }
    if (!duplicate) { break; }
   }
   arr[i] = value;
  }
  var output = '';
  for (var i = 0; i < numbercount; i++) {
   output += arr[i] + (i < numbercount-1 ? ' ':'');
  }
  document.getElementById(idres).innerHTML = output;
 }

 function getCount (idn,idm,idres) {
  var n=parseInt(document.getElementById(idn).innerHTML);
  n++;
  var maxnumbers=parseInt(document.getElementById(idm).innerHTML);
  if (n>maxnumbers) n=1;
  document.getElementById(idn).innerHTML = n.toString();
  numbers (idn,idm,idres);
 }

 function getMax (idn,idm,idres) {
  var m=parseInt(document.getElementById(idm).innerHTML);
  m++;
  if (m>50) {
   m=1;
   document.getElementById(idn).innerHTML = m.toString();
  }
  document.getElementById(idm).innerHTML = m.toString();
  numbers (idn,idm,idres);
 }
</script>
<noscript>
 <div align="center"><p>Извините, для работы приложения нужен включённый Javascript</p></div>
</noscript>
<style type="text/css">
.lottonumber {
 color: white; background: #2980B9; 
 display: inline-block; text-align: center; margin: 0; line-height: 35px; width: 35px; height: 35px;
}
.lottotext {
 color: black; 
 display: inline-block; text-align: center; margin: 0; line-height: 35px; width: 35px; height: 35px;
}
.lottoresult {
 color: #009900; 
 text-align: center; margin: 0; line-height: 35px; height: 35px;
}
</style>
<div id="lottoresults" class="lottoresult" onclick="numbers('numbercount','maxnum','lottoresults');">
 Кликните здесь или по любому из чисел
</div>
<div align="center">
 <span id="numbercount" class="lottonumber" onClick="getCount('numbercount','maxnum','lottoresults');">6</span>
 <span class="lottotext">из</span>
 <span id="maxnum" class="lottonumber" onClick="getMax('numbercount','maxnum','lottoresults');">49</span>
</div>

07.09.2017, 16:46 [2016 просмотров]


теги: javascript random числа

К этой статье пока нет комментариев, Ваш будет первым