クイズの出題と採点

表示例

記述例

以下をできるだけ最初の方に記述して下さい(できればHEADタグの中)

<SCRIPT LANGUAGE="JavaScript">
<!--
quizNum = 0;
quizPoint = 0;
quiz = new Array('「ワープロ」の「プロ」は何の略でしょう?','次のうち、飲み物はどれでしょう?','次のうち、他人にしてあげられないことはどれでしょう?','「味方をする」という意味の言葉は、肩をどうする?','次のうち、人間の体にあるものはどれ?');
answer1 = new Array('プロセッサー','プロセス','プロフィール','プロパンガス');
answer2 = new Array('','','','','');
answer3 = new Array('肩もみ','肩たたき','肩こり','肩ぐるま');
answer4 = new Array('なでる','もつ','もむ','かす','さわる');
answer5 = new Array('ピサ','ピザ','ビザ','ヒザ');
right1 = 1;
right2 = 5;
right3 = 3;
right4 = 2;
right5 = 4;
function syutudaiQuiz() {
  quizNum++;
  if (navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion > '4') {
    quizarea.innerHTML = '<FORM>';
    quizarea.innerHTML += quiz[quizNum - 1] + '<BR><BR>';
    for (sentakusi = 0; sentakusi < eval('answer' + quizNum).length; sentakusi++) {
      quizarea.innerHTML += '<INPUT TYPE="RADIO" NAME="quizAns" VALUE="0" onClick="saitenQuiz(' + sentakusi + ')">' + eval('answer' + quizNum + '[' + sentakusi + ']');
    }
    quizarea.innerHTML += '</FORM>';
  }
  if (navigator.appName == 'Netscape' && navigator.appVersion > '4') {
    if (document.getElementById) {
      document.getElementById('quizarea').innerHTML = '<FORM>';
      document.getElementById('quizarea').innerHTML += quiz[quizNum - 1] + '<BR><BR>';
      for (sentakusi = 0; sentakusi < eval('answer' + quizNum).length; sentakusi++) {
        document.getElementById('quizarea').innerHTML += '<INPUT TYPE="RADIO" NAME="quizAns" VALUE="0" onClick="saitenQuiz(' + sentakusi + ')">' + eval('answer' + quizNum + '[' + sentakusi + ']');
      }
      document.getElementById('quizarea').innerHTML += '</FORM>';
    }
  }
}
function saitenQuiz(choice) {
  if (navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion > '4') {
    if (choice == eval('right' + quizNum) - 1) {
      quizPoint++;
      quizarea.innerHTML = '<BR><B>○</B> 正解<BR><BR><BR>';
    }
    else {
      quizarea.innerHTML = '<BR><B>×</B> 不正解<BR><BR><BR>';
    }
    if (quizNum >= quiz.length) {
      quizarea.innerHTML = '<BR>' + quiz.length + '問中 <B>' + quizPoint + '</B>問正解でした。<BR><BR><BR>';
    }
    else {
      setTimeout("syutudaiQuiz()",1500);
    }
  }
  if (navigator.appName == 'Netscape' && navigator.appVersion > '4') {
    if (document.getElementById) {
      if (choice == eval('right' + quizNum) - 1) {
        quizPoint++;
        document.getElementById('quizarea').innerHTML = '<BR><B>○</B> 正解<BR><BR>';
      }
      else {
        document.getElementById('quizarea').innerHTML = '<BR><B>×</B> 不正解<BR><BR>';
      }
      if (quizNum >= quiz.length) {
        document.getElementById('quizarea').innerHTML = '<BR>' + quiz.length + '問中 <B>' + quizPoint + '</B>問正解でした。<BR><BR>';
      }
      else {
        setTimeout("syutudaiQuiz()",1500);
      }
    }
  }
}
//-->
</SCRIPT>

以下を表示させたい位置に記述して下さい(BODYタグの中ならどこでもOK)

<SPAN ID="quizarea"><LAYER NAME="quizarea"></LAYER></SPAN><P>
<SCRIPT LANGUAGE="JavaScript">
<!--
syutudaiQuiz();
//-->
</SCRIPT>
備考

「quiz = new Array(〜中略〜);」の行で、クイズの問題を設定します。カンマ( , )で区切って、いくつでも問題文を設定することができます。それぞれの問題文は、シングルクォーテーション( ' )で囲って下さい。
「answer1 = new Array(〜中略〜);」以降の5行では、各問題の回答の選択肢を設定します。カンマ( , )で区切って、いくつでも選択肢を設定することができます。
「right1 = 1;」以降の5行では、各問題の正解の番号を設定します。

「answer1」の行と「right1」の行は、問題の数に合わせて行を増やして下さい。
例えば、6問目を作った場合は、「answer6 = new Array(〜中略〜);」や「right6 = 3;」の行を追加します。


←メニューへ戻る