首页 > 解决方案 > JS 乐透模拟器 - 如何显示既定数量的数字

问题描述

我创建了简单的乐透模拟器,我想将其设置为仅在特定条件下显示数字。比方说,要显示至少两个或更多的数字必须被覆盖(选择和滚动)我是初学者,所以为任何明显的错误道歉,我还在学习。

var attempt = 0;

function losowanie1() {
  var available = 6;
  var guessed = new Array();

  r = new Array(available);

  var xd0 = document.getElementById("pole1").value
  var xd1 = document.getElementById("pole2").value
  var xd2 = document.getElementById("pole3").value
  var xd3 = document.getElementById("pole4").value
  var xd4 = document.getElementById("pole5").value
  var xd5 = document.getElementById("pole6").value

  y = new Array(6)
  y[0] = xd0
  y[1] = xd1
  y[2] = xd2
  y[3] = xd3
  y[4] = xd4
  y[5] = xd5

  z = new Array(6)



  for (var i = 0; i <= available - 1; i++) {
    r[i] = Math.floor((Math.random() * (49 - 1)) + 1);
    if ((y[i] == r[0]) || (y[i] == r[1]) || (y[i] == r[2]) || (y[i] == r[3]) || (y[i] == r[4]) || (y[i] == r[5])) {
      guessed.push(y[i]);
    }



  }

  atempt++
  document.getElementById("wysw").innerHTML = r;
  document.getElementById("zatw").innerHTML = guessed;
  document.getElementById("zatw2").innerHTML = attempt;
}
#wysw {
  color: yellow;
  background-color: black;
  height: 200px;
  text-align: center;
  font-size: 40px;
}


}
#zatw {
  margin-top: 40px;
  height: 200px;
  background-color: pink;
  text-align: center;
}
#dupa {
  height: 200px;
  background-color: brown;
  text-align: center
}
#tak {
  width: 200px;
  height: 100px;
  text-align: center;
  margin-left: 850px;
}
#zatw2 {
  margin-top: 40px;
  height: 200px;
  background-color: orange;
  text-align: center;
}
<main>
  <div id="main">
    <h1>Totolotek</h1>
    <div id="blokada">
      <br>
      <div id="wysw"></div>
      <div id="dupa">
        <input type="text" id="pole1" /><input type="text" id="pole2" /><input type="text" id="pole3" /><input type="text" id="pole4" /><input type="text" id="pole5" /><input type="text" id="pole6" />
        <input type="reset" id="tak" value="zatwierdz" onclick="losowanie1();" />
        <div id="zatw"></div>
        <div id="zatw2"></div>
      </div>
    </div>
  </div>
</main>

标签: javascript

解决方案


这是一个 JSFiddle - 我只是猜测你在做什么。

你有一个错字:atempt++

修复后似乎可以工作。

var attempt = 0;

function losowanie1() {
var available = 6;
var guessed = new Array();

r = new Array(available);

var xd0 = document.getElementById("pole1").value
var xd1 = document.getElementById("pole2").value
var xd2 = document.getElementById("pole3").value
var xd3 = document.getElementById("pole4").value
var xd4 = document.getElementById("pole5").value
var xd5 = document.getElementById("pole6").value

y = new Array(6)
y[0] = xd0
y[1] = xd1
y[2] = xd2
y[3] = xd3
y[4] = xd4
y[5] = xd5

z = new Array(6)



for (var i = 0; i <= available - 1; i++) {
  r[i] = Math.floor((Math.random() * (49 - 1)) + 1);
  if ((y[i] == r[0]) || (y[i] == r[1]) || (y[i] == r[2]) || (y[i] == r[3]) || (y[i] == r[4]) || (y[i] == r[5])) {
    guessed.push(y[i]);
  }



}

attempt++
document.getElementById("wysw").innerHTML = r;
document.getElementById("zatw").innerHTML = guessed;
document.getElementById("zatw2").innerHTML = attempt;
}

推荐阅读