Javascript - Rigged coin flip(首先是头部)

时间:2016-09-03 11:18:13

标签: javascript html

真正基本的功能,我有一个模拟硬币翻转的按钮,我想总是显示" head"首先然后在第一次输入之后随机化,当前代码不起作用,并且从第一次单击开始随机化。

HTML:

<button id = "riggedCoin" onclick = "riggedCoinFlip()"> Rigged Coin </button>

<h1 id ="h2"> Coin Flip </h1>

JS:

function riggedCoinFlip() {

document.getElementById("h2").innerHTML = ("Heads!");

var coinFace = Math.floor(Math.random() * 2);

if (coinFace === 0) {
var h1 = document.getElementById("h2").innerHTML = ("Heads!");
} else {
var h1 = document.getElementById("h2").innerHTML = ("Tails!");

 }
}

2 个答案:

答案 0 :(得分:4)

首先, #h2 元素已包含 Coin Flip 文字。所以,我们可以用它来第一次检查。 我们不需要另外的变量来检查它。

我已经为您简化了解决方案。您可以尝试:

&#13;
&#13;
function riggedCoinFlip() {
  var el = document.getElementById("h2");

  if (el.innerHTML === " Coin Flip ") {
    el.innerHTML = "Heads!";
  } else {
    el.innerHTML = (Math.floor(Math.random() * 2) === 0
      ? "Heads" : "Tails") +"!";
  }
}
&#13;
<button id="riggedCoin" onclick="riggedCoinFlip()">Rigged Coin</button>
<h1 id="h2"> Coin Flip </h1>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用一个变量并在第一次单击后更改它,因此在更改var之后您可以使用随机。

&#13;
&#13;
var random = false;

function riggedCoinFlip() {
  document.getElementById("h2").innerHTML = ("Heads!");
  if (random != false) {
    var coinFace = Math.floor(Math.random() * 2);
    if (coinFace === 0) {
      var h1 = document.getElementById("h2").innerHTML = ("Heads!");
    } else {
      var h1 = document.getElementById("h2").innerHTML = ("Tails!");
    }
  }
  random = true;
}
&#13;
<button id="riggedCoin" onclick="riggedCoinFlip()">Rigged Coin</button>
<h1 id="h2"> Coin Flip </h1>
&#13;
&#13;
&#13;