快速业务通道

JS教程:线小测试程序

作者 佚名技术 来源 网页制作 浏览 发布时间 2012-03-07
tQNumber = -1;

questionsAsked = new Array();

for (indexCounter = 0; indexCounter < questions.length;indexCounter++)

{

questionsAsked[indexCounter] = false;

}

numberOfQuestionsAsked = 0;

numberOfQuestionsCorrect = 0;

if (timeLeft == -1)

{

window.status = "No Time Limit";

}

else

{

quizTimerId = window.setInterval("updateTimeLeft()",1000);

}

}

首先修改的是resetQuiz()函数的定义。在上一版本的在线小测试程序中,resetQuiz()函数并不接收参数。现在,resetQuiz()函数将接收两个参数,这两个参数分别表示问题数量和时间限制。

接着,将全局变量timeLeft的值设置为参数SelectedTimeLimit的值,将全局变量totalQuestionsToAsk的值设置为参数numberOfQuestions的值。在后面的代码中你将会看到,这两个全局变量将用以判断问题是否已经回答完毕,以及检查时间限制是否已经到点。

在resetQuiz()函数的最后,添加了一个计时器,以监测剩余的时间。一种情况是计时器已经到点,剩余时间已经用完,即变量timeLeft的值为–1。如果变量timeLeft的值为–1时,则使用window对象的status属性,在浏览器的状态栏中显示一条时间到点的信息。注意,在Netscape浏览器中,当框架页改变时,将在浏览器的状态栏中显示Document:Done以覆盖No Time Limit信息。如果变量timeLeft的值不是–1,则使用setInterval()方法启动一个计时器,以每隔1s调用一次updateTimeLeft()函数。

updateTimeLeft()函数是一个新添加的函数。下面的代码用以创建updateTimeLeft()函数。将该代码添加在脚本块其他函数的下面。

function updateTimeLeft()

{

timeLeft--;

if (timeLeft == 0)

{

alert("Time’s Up");

numberOfQuestionsAsked = totalQuestionsToAsk;

window.top.fraQuizPage.location.href = "AskQuestion.htm";

}

else

{

var minutes = Math.floor(timeLeft / 60);

var seconds = timeLeft - (60 * minutes);

if (minutes < 10)

minutes = "0" + minutes;

if (seconds < 10)

seconds = "0" + seconds;

window.status = "Time left is " + minutes + ":" + seconds;

}

}

updateTimeLeft()函数完成了3个功能。首先,它将剩余时间减1,即timeLeft--;然后判断是否还有剩余的时间,当剩余时间为0时,则停止小测试程序;否则,在浏览器的状态栏中显示

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号