映画のエンドロール観る派?観ない派?

JavaScript超初心者です。
クイズ問題を作成したのですが、クイズを全問解くまでの
経過時間を表示するようにしたいのですが、どなたか教えて
いただけますでしょうか。

具体的には、あるページを開いて時から測定し、1問目の4択を選択すると
2ページ目の2問目が表示し、解答を選択すると3ページ目の3問目が表示・・・
これを10問(10ページ)まで終了すると、11ページ目の正解率と経過時間を表示するように考えています。
1ページから10ページまでの表示、11ページの正解率はできたのですが、経過時間が本で調べてもわかりませんでした。
どなたかよろしくお願いいたします。
※1ページ目の内容です(これが10ページ分あります)
    ↓
<p>Q1.現在は西暦何年?</p>
<ol>
<li>2006</li>
<li>2007</li>
<li>2008</li>
<li>2009</li>
</ol>
<script language="JavaScript">

var answers = location.search;
var nextpage = "2.html?";
var select1 = "Q11";
var select2 = "Q12";
var select3 = "Q13";
var select4 = "Q14";
document.write('[ <a href="' + nextpage + answers + select1 + '">選択肢 1</a> ] ');
document.write('[ <a href="' + nextpage + answers + select2 + '">選択肢 2</a> ] ');
document.write('[ <a href="' + nextpage + answers + select3 + '">選択肢 3</a> ] ');
document.write('[ <a href="' + nextpage + answers + select4 + '">選択肢 4</a> ] ');
</script>
<noscript>
※JavaScript機能がOFFの場合、回答用リンクを生成できません。
ページ末のページ番号をクリックしてお進み下さい。
</noscript>




最後の11ページに経過時間を表示したいのですが
現在はこんな内容です。
    ↓
<p>成績発表~</p>

<script language="JavaScript">

var answers = location.search;
var trues = 0;
var questions = 10; /* 問題数 */

document.write('<table border="1" cellpadding="3" cellspacing="0">');


/* ▼1問目 */
document.write('<tr><th>1問目</th>');
if( answers.indexOf("Q12") >= 0 ) {
/* 正答の場合 */
document.write('<td>○</td>');
trues++;
}
else {
/* 誤答の場合 */
document.write('<td>×</td>');
}
document.write('<td><a href="kaisetsu.html#a1">第1問目の解説</a></td></tr>');



/* ▼2問目 */
document.write('<tr><th>2問目</th>');
if( answers.indexOf("Q21") >= 0 ) {
/* 正答の場合 */
document.write('<td>○</td>');
trues++;
}
else {
/* 誤答の場合 */
document.write('<td>×</td>');
}
document.write('<td><a href="kaisetsu.html#a2">第2問目の解説</a></td></tr>');

//この内容が10問目まであります

/* ▼10問目 */
document.write('<tr><th>10問目</th>');
if( answers.indexOf("Q104") >= 0 ) {
/* 正答の場合 */
document.write('<td>○</td>');
trues++;
}
else {
/* 誤答の場合 */
document.write('<td>×</td>');
}
document.write('<td><a href="kaisetsu.html#a10">第10問目の解説</a></td></tr>');


document.write('</table>');

/* 集計 */
document.write('<br>正答数 ' + trues + '問 / 正答率 ' + trues*100/questions + '%');

/* メッセージ */
if( trues >= 10 ) {
document.write('おめでとうございます! 全問正解です!');
}
else if( trues >= 7 ) {
document.write('おしいっ! あと一歩ですね。');
}

else if( trues >= 5 ) {
document.write('半分は越えましたね。あと少しがんばりましょう。');
}

else {
document.write('がんばりましょう。');
}




</script>
<noscript>
※JavaScript機能がOFFの場合、成績結果を生成できません。
全問題の<a href="kaisetsu.html">解説はこちら</a>です。
</noscript>

A 回答 (2件)

最初のページで時間を記録したクッキーを発行し、2ページ目からはそのクッキーを読み取る、という形で経過時間が取得出来ると思います。


Cookieが使えない場合は駄目です。
Cookieが使えない場合はページ遷移の時にリンクに変数(開始時間)を埋込むと言う方法も出来ますね。
例えばリンク先を
var time = new Date();
document.write("<a href=\"hogehoge.html?time="+time.getTime()+"\">次の問題</a>");
のように動的に書いておき、
location.searchで取得すると言った具合です。
    • good
    • 0
この回答へのお礼

私のために時間を割いていただき、ありがとうございます。

お礼日時:2007/07/08 16:00

フレームにすればよいです。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報