[英]Javascript using for loops with array lists
I need to make a webpage that looks something like this 我需要制作一个看起来像这样的网页
(generate question)...this is a button (产生问题)...这是一个按钮
? ? x 1 = ( )
x 1 =()
? ? x 2 = ( )
x 2 =()
... ...
? ? x 9 = ( )
x 9 =()
(check answer)...this is also a button (检查答案)...这也是一个按钮
The user is first prompt to choose a number when pressing the button (generate question).. hypothetically they choose 2. So the above list will do the following. 当按下按钮时(生成问题),首先提示用户选择一个数字。假设他们选择了2。因此上面的列表将执行以下操作。
2 x 1 = ( ) 2 x 1 =()
2 x 2 = ( ) 2 x 2 =()
... ...
2 x 9 = ( ) 2 x 9 =()
The user then goes through and fills in the empty spots like so: 然后,用户仔细检查并填充空白处,如下所示:
2 x 1 = ( 2 ) 2 x 1 =(2)
2 x 2 = ( 7 ) 2 x 2 =(7)
... ...
2 x 9 = ( 18 ) 2 x 9 =(18)
They then press the (check answer button) and it should display the following.. 然后,他们按下(检查答案按钮),它应该显示以下内容。
2 x 1 = ( 2 ) correct 2 x 1 =(2)正确
2 x 2 = ( 7 ) incorrect 2 x 2 =(7)错误
... ...
2 x 9 = ( 18 ) correct 2 x 9 =(18)正确
This is the java script 这是java脚本
var number;
function chickenWing()
{
number = prompt("Enter number for multiplication");
var changeNumber = document.getElementsByClassName("chooseNumber");
for(var i = 0; i < changeNumber.length; i++)
{
changeNumber[i].innerHTML = number;
}
}
function chickenDrumStick()
{
var array = document.getElementsByClassName("apple")
for(var i = 0; i < array.length; i++)
{
var cheese = 0;
cheese = cheese + 1;
}
var correctAnswer = cheese + number;
var array1 = document.getElementsByClassName("inPut");
for(var i = 0; i < array1.length; i++)
{
var userAnswer = Number(array1.value);
}
var array2 = document.getElementsByClassName("result")
for(var i = 0; i < array2.length; i++)
{
if(userAnswer == correctAnswer)
{
array2[i].innerHTML = "Correct!";
}
else
{
array2[i].innerHTML = "Incorrect, please try again.";
}
}
}
And this is the HTML (this is only for the first 2 "math questions" just to keep things simple for the sake of this question. 这就是HTML(这仅用于前两个“数学问题”,只是为了使问题简单起见。
<button onClick="chickenWing()">Generate question</button>
<br/>
<br/>
<span class = "chooseNumber">?</span>
<span class = "apple"> x 1 = </span>
<input type = "text" size = "6px" class = "inPut "/>
<span class = "result"></span>
<br/>
<br/>
<span class = "chooseNumber">?</span>
<span class = "apple"> x 2 = </span>
<input type = "text" size = "6px" class = "inPut"/>
<span class = "result"></span>
<br/>
<br/>
<button onClick="chickenDrumStick()">Check answer</button>
Im not sure why this is not working!! 我不确定为什么这不起作用!
Modified your code a bit. 修改了一下代码。 Simplified it by removing unnecessary iterations.
通过删除不必要的迭代来简化它。 Hope this helps.
希望这可以帮助。
var number; function chickenWing() { number = prompt("Enter number for multiplication"); var changeNumber = document.getElementsByClassName("chooseNumber"); for(var i = 0; i < changeNumber.length; i++) { changeNumber[i].innerHTML = number; } } function chickenDrumStick() { var array = document.getElementsByClassName("apple") var array1 = document.getElementsByClassName("inPut"); var array2 = document.getElementsByClassName("result") for(var i = 0; i < array.length; i++) { if(Number(array1[i].value) == ((i+1) * number)) { array2[i].innerHTML = "Correct!"; array2[i].classList.add('correct'); array2[i].classList.remove('incorrect'); } else { array2[i].innerHTML = "Incorrect, please try again."; array2[i].classList.add('incorrect'); array2[i].classList.remove('correct'); } } }
.correct { color:green; } .incorrect { color:red; }
<button onClick="chickenWing()">Generate question</button> <br/> <br/> <span class = "chooseNumber">?</span> <span class = "apple"> x 1 = </span> <input type = "text" size = "6px" class = "inPut "/> <span class = "result"></span> <br/> <br/> <span class = "chooseNumber">?</span> <span class = "apple"> x 2 = </span> <input type = "text" size = "6px" class = "inPut"/> <span class = "result"></span> <br/> <br/> <button onClick="chickenDrumStick()">Check answer</button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.