-1
<!DOCTYPE html>
<html>

    <head>
        <style type="text/css">
            div.dice {
                float:left;
                width:32px;
                background:#F5F5F5;
                border:#999 1px solid;
                padding:10px;
                font-size:24px;
                text-align:center;
                margin:5px;
            }
        </style>
        <script>
            function rollDice() {
                var die1 = document.getElementById("die1");
                var die2 = document.getElementById("die2");
                var status = document.getElementById("status");
                var d1 = Math.floor(Math.random() * 6) + 1;
                var d2 = Math.floor(Math.random() * 6) + 1;
                var wins = documentgetElementById("doubles");
                var diceTotal = d1 + d2;
                die1.innerHTML = d1;
                die2.innerHTML = d2;
                status.innerHTML = "You rolled " + diceTotal + ".";
                if (d1 == d2) {
                    status.innerHTML += " DOUBLES! You get a free turn!!";

                }
            }
        </script>
    </head>

    <body>
        <div id="die1" class="dice">0</div>
        <div id="die2" class="dice">0</div>
        <button onclick="rollDice()">Roll Dice</button>
         <h2 id="status" style="clear:left;"></h2>
        <br>Wins:
        <h5 id="doubles" style="clear:left;"></h5>
        <br>
    </body>

</html>

ダブルスをロールするたびにWinsが更新されるようにしたいのですが、まだこれに慣れていないので、 status.innerHTML += " DOUBLES! You get a free turn!!"; doubles.innerHTML =+ Wins; put var wins = document.getElementById("doubles");???の後に追加される単純なコード行になると考えていました。私は私が何か間違ったことをしていることを知っています。よろしくお願いします。

4

2 に答える 2

2

http://jsfiddle.net/GkPEA/

var wins = documentgetElementById("doubles");タイプミスがあり、そうあるべきですvar wins = document.getElementById("doubles");

勝利カウンターの更新に関しては、1 を追加する前に要素の値を int に変換する必要があります。ただし、DOM 要素のテキストではなく、グローバル変数に勝利カウントを格納することをお勧めします。

if (d1 == d2) {
    status.innerHTML += " DOUBLES! You get a free turn!!";
    var winsCount = parseInt(wins.innerHTML) || 0;
    wins.innerHTML = winsCount + 1;
}
于 2013-10-12T02:38:06.713 に答える
1

私はあなたの問題を見ます。変数を宣言する行にタイプミスがwinsありdocumentgetElementById()ますdocument.getElementById()。wins h5 で 0 から始めて、プレイヤーが勝つたびに次のコードを実行します。

var previouswins = document.getElementById("doubles").innerHTML;
var presentwins = parseInt(previouswins, 10) + 1;
document.getElementById("doubles").innerHTML = presentwins;

そのコードは、previouswins基本的にdoubles h5. 次に、それを整数として解析します。これは、javascript がそれを使用して数学関数を実行できるようになったことを意味し、1 つ追加します。あとは、新しい変数を に書き込むだけですdoubles h5

を使用するときは、基数parseInt(基数)を指定する必要があることに注意してください。これについてはMDNで詳しく読むことができます。

于 2013-10-12T02:39:22.627 に答える