这是一个抛硬币随机发生器。我需要打印 10 行 20 列。这就是我被困住的地方。每次我单击按钮时,我的代码似乎都会正确随机化,它显示 20 列,但我似乎无法让它打印第二行。这可能是一些简单的事情,我只是没有抓住。任何事情都会受到赞赏。
JavaScript 代码
function toss()
{
var heads = "x ";
var tails = "o ";
var rows = 0;
while(rows < 10)
{
var arr = new Array(20);
for(var i = 0; i < arr.length; i++)
{
var val = Math.floor( Math.random() * 2 );
if(val === 1)
{
arr[i] = " x";
}
else
{
arr[i] = " y";
}
document.getElementById("results").innerHTML = arr + "<br />";
}
delete arr;
rows++
}
}
HTML:
<html>
<head>
<title>Coin Flip</title>
<script src="Toss.js" type="text/Javascript"></script>
<style>
#results
{
display: block;
}
</style>
</head>
<body>
Push Button to Flip -> <input type="button" onclick="toss()" value=" Flip ">
<span id="results"></span>
</body>
</html>
问题是,每次使用新行创建行时,您都会替换整个结果输出。您需要追加而不是替换。所以改变这个:
document.getElementById("results").innerHTML = arr + "<br />";
To:
document.getElementById("results").innerHTML += arr + "<br />";
您还需要将结果的追加移出内部 for 循环!如果您将附录留在for
循环,你会看到这个行为:http://jsfiddle.net/t1s93Lqz/3/
JSFiddle:http://jsfiddle.net/t1s93Lqz/2/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)