2016-09-03 48 views
3

真的基本功能,我有一個按鈕,模擬投擲硬幣,我想總是先顯示「頭」,然後在第一次輸入後隨機化,當前代碼不起作用,它從第一次點擊隨機化。Javascript-Rigged coin flip(頭先)

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!"); 

} 
} 

回答

4

起初,#h2元素已包含Coin Flip文本。所以,我們可以用它來第一次檢查。 我們不需要其他變量來檢查它。

我簡化了您的解決方案。你可以試試:

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") +"!"; 
 
    } 
 
}
<button id="riggedCoin" onclick="riggedCoinFlip()">Rigged Coin</button> 
 
<h1 id="h2"> Coin Flip </h1>

1

您可以使用一個變量,第一次點擊後改變它,使VAR改變後,你可以使用隨機的。

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; 
 
}
<button id="riggedCoin" onclick="riggedCoinFlip()">Rigged Coin</button> 
 
<h1 id="h2"> Coin Flip </h1>