我需要在span上显示y的结果。
目前,当我点击播放按钮时,它对我没有任何作用。 我的代码可能存在更多问题。
我需要做的功能是在输入框中输入用户输入的数字,将其转换为int,并将其存储在“x”中。 Y是存储此循环发生的时间量。 当x大于0时,掷骰子得到总和。
如果sum恰好是7,则x + 4,否则为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>
答案 0 :(得分:1)
获取input元素值的方法是.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;
}
&#13;
<div class="container">
<label>Starting Bet:</label>
<input id="amount" type="text">
<button onclick="playLoop()">Play</button>
<span id="result"></span>
</div>
&#13;
答案 1 :(得分:0)
您使用的是.val(),它不是函数,但.value()是。
var x = parseInt(document.getElementById("amount").value());