我需要创建一个彩票游戏。我知道整个代码应该是怎么做的,而且大部分已完成,但我有一个问题:
我有一个带有onclick的按钮,名为 generar(),此功能需要从1到999绘制3个数字并与三个数字一起创建,另一个按钮在按下之后,绘制另一个数字,然后(新按钮)检查新号码与已创建的号码,以查看我是否赢了。
好的,我已经设法完成了整个代码,但是三个第一个数字与第四个数字的比较不能正常工作。总是,如果我赢了或不赢的话,写下“¡Perdedor!” (更宽松!)。
这是我的代码:
<html>
<head>
<title>Práctica 3</title>
<style>
#contenedor { border: 1px black solid;
width: 250px;
height: 250px;
float: left;
margin-right: 5px;
text-align: center;
margin-bottom: 5px; }
</style>
</head>
<body>
<div id="contenedor"> <p id="primerNumero"/> </div>
<div id="contenedor"> <p id="segundoNumero"/> </div>
<div id="contenedor"> <p id="tercerNumero"/> </div>
<button id="generar" onclick="generar()">Genera dècims</button>
<div id="contenedor"> <p id="resultado"/> </div>
<p id="t"/>
<script>
function generar() {
var primerNumero = Math.floor(Math.random() * 10);
var segundoNumero = Math.floor(Math.random() * 10);
var tercerNumero = Math.floor(Math.random() * 10);
var botones = document.getElementsByTagName("BUTTON").length;
if (botones < 2) {
generarBotones();
}
document.getElementById("primerNumero").innerHTML = primerNumero;
document.getElementById("primerNumero").style.fontSize = "72px";
document.getElementById("segundoNumero").innerHTML = segundoNumero;
document.getElementById("segundoNumero").style.fontSize = "72px";
document.getElementById("tercerNumero").innerHTML = tercerNumero;
document.getElementById("tercerNumero").style.fontSize = "72px";
}
function generarBotones() {
var boton = document.createElement("BUTTON");
var t = document.createTextNode("Realizar sorteig");
boton.onclick = function(){
var numeroGanador = Math.floor(Math.random() * 10);
document.getElementById("resultado").innerHTML = numeroGanador;
document.getElementById("resultado").style.fontSize = "72px";
if(primerNumero == numeroGanador || segundoNumero == numeroGanador || tercerNumero == numeroGanador) {
document.getElementById("t").innerHTML = "¡Ganador!";
} else {
document.getElementById("t").innerHTML = "¡Perdedor!";
}
};
boton.appendChild(t);
document.body.appendChild(boton);
}
</script>
</body>
</html>
如果有人能告诉我失败的原因和地点以及可能的解决方案,那就太棒了。如果给出解释,我将非常感激
答案 0 :(得分:3)
primerNumero
segundoNumero
tercerNumero
使用innerText或innerHTML是否需要获取值的html元素,而不是值。
if(primerNumero.innerText == numeroGanador || segundoNumero.innerText == numeroGanador || tercerNumero.innerText == numeroGanador) {
document.getElementById("t").innerHTML = "¡Ganador!";
} else {
document.getElementById("t").innerHTML = "¡Perdedor!";
}
或者您可以将变量重命名为元素的其他名称,因为您的问题是包含生成的数字的变量与html元素的id同名。如果重命名将根据您的第一个代码工作。