我需要在跨度显示y的结果。
当前,当我单击"播放"按钮时,它对我没有任何作用。我的代码可能还有更多问题。
我需要做的功能是将输入的数字用户输入输入框,将其转换为int,然后将其存储在" x"中。Y是存储此循环发生的时间。x大于0,滚动骰子并获得总和。
x 4如果总和正好7,否则x-1。每次此功能循环,X-1。
谢谢。
function playLoop() {
var x = parseInt(document.getElementById("amount").val());
var y = 0;
while (x > 0) {
var die1 = Math.floor((Math.random() * 6) + 1);
var die2 = Math.floor((Math.random() * 6) + 1);
if (die1 + die2 == 7) {
x + 4;
} else {
x - 1;
}
}
x--
y++
document.getElementById("result").innerHTML = y;
}
<div class="container">
<label>Starting Bet:</label>
<input id="amount" type="text">
<button onclick="playLoop()">Play</button>
<span id="result"></span>
</div>
获取输入元素值的方法是用 .value
而不是 .val()
(这是jQuery方法)。
您的while()
循环永远不会结束,因为您在循环过程中永远不会修改x
。x + 4
应为x += 4
,x - 1
应为x -= 1
或x--
。
,您需要在循环内,而不是在末尾增加y
并减少x
。
function playLoop() {
var x = parseInt(document.getElementById("amount").value);
var y = 0;
while (x > 0) {
var die1 = Math.floor((Math.random() * 6) + 1);
var die2 = Math.floor((Math.random() * 6) + 1);
if (die1 + die2 == 7) {
x += 4;
} else {
x--;
}
y++;
x--;
}
document.getElementById("result").innerHTML = y;
}
<div class="container">
<label>Starting Bet:</label>
<input id="amount" type="text">
<button onclick="playLoop()">Play</button>
<span id="result"></span>
</div>
您使用的不是函数的.val(),但是.value()是。
var x = parseInt(document.getElementById("amount").value());