javascript测验:显示随机选项

时间:2018-11-18 14:54:03

标签: javascript html

我刚刚编写了一个html测验页面...这是我的Javascript代码

 <SCRIPT language="JavaScript"    type="text/javascript">

function checkAnswer(quizForm,
                     theAnswer,
                     ){
  var s = "?";  
  var i = 0;
  for(;i<quizForm.elements.length;i++)
  {    if(("cc" ==
        quizForm.elements[i].name) &&
       (quizForm.elements[i].checked))    {
      s = quizForm.elements[i].value;    }  }
  if("?" == s)
  {   document.getElementById("demo").innerHTML = "Please Click Answer";
    return false;  }

  if(s == theAnswer)
  {
    document.getElementById("demo").innerHTML = "Very Good";   
  }
  else
  {
    document.getElementById("demo").innerHTML = "Please Check Ur Answer";  
  }

  return false;
}

</SCRIPT>

我的html代码是

What is JavaScript?

<FORM method="POST"
      onSubmit="return checkAnswer(this,'B');"
>

<INPUT TYPE="RADIO" VALUE="A" NAME="cc">
A. Another name for Java<BR>

<INPUT TYPE="RADIO" VALUE="B" NAME="cc">
B. A scripting language mostly for the web<BR>

<INPUT TYPE="RADIO" VALUE="C" NAME="cc">
C. When you use Java without compiling<BR>

<INPUT TYPE="SUBMIT" VALUE="Submit Answer">

<p id="demo"></p>

我想在Javascript代码中添加我的选项(A,B,C,D)。它可以随机显示选项,并且当用户单击右键时也会显示'Correct否则Wrong

1 个答案:

答案 0 :(得分:0)

要随机化问题,您需要将问题存储在数组或对象中。然后,当您显示问题时,您只需要显示问题的随机版本:

let questions = [
  {
    questions: ["Options 1", "Option 2", "Option 3", "option 4"],
    answer: "Option 2", 
  },
]

let randomizeArray = (arr) =>{
  let Question = [],
      till = arr.length; 
  while(Question.length != till){
    if(arr.length === 1){
      Question[Question.length] = arr.splice(0, 1)[0];
    }else{
      let random = Math.floor(Math.random()*(arr.length));
      Question[Question.length] = arr.splice(random, 1)[0];
    }
  }
  return Question;
}

在这里,randomizeArray律返回随机数组。 您需要向用户显示问题的随机版本。

然后,当用户选择答案时,您需要将其与答案进行比较。并向用户显示相关答案。

我想你明白这个主意。