HTML 要素:
<div style="text-align:center;";">
<input style="align:center;" type="button" value="Roll" onClick='roll()';>
</div>
JavaScript スニペット:
function roll(){
document.getElementById('test5').innerHTML=roll;
var roll;
document.getElementById('test').innerHTML=roll;
if (!(roll == 1 || roll == 2 || roll == 3)){
document.getElementById('test1').innerHTML='inLoop';
roll = 1;
}
//irrelavent code
var dice1=dice[0];
var dice2=dice[1];
var dice3=dice[2];
var dice4=dice[3];
var dice5=dice[4];
if (roll>=3){
score(dice1, dice2, dice3, dice4, dice5);
}
roll = storeRoll(roll);
document.getElementById('test4').innerHTML=roll;
};
function storeRoll(roll){
++roll
document.getElementById('test2').innerHTML='inFunction';
document.getElementById('test3').innerHTML=roll;
return roll;
};
roll
まだ定義されていない場合は に設定し1
、関数の最後に に追加する1
ようにしようとしていroll
ます。3
ロールがあると、関数が呼び出されますscore
。私の試行錯誤ではroll
、関数を再起動するたびに変数がリセットされているように見えました。ユーザーがHTML入力ボタンをクリックすると、関数が複数回実行されるため、ループは機能しません。ボタンをクリックするたびに、roll
変数がリセットされます。コードに変数をリセットする何かがあるかどうか疑問に思っていましたroll
。