我们的网站上有一个在线测验部分,它有一个javascript代码,可以计算我们的测试人员参加特定测试的时间:
此代码中的<52> 526表示从测验开始传递的秒数document.writeln("<span id=\"time_online1\"></span>");
zi_inceput1 = new Date();
ceas_start1 = zi_inceput1.getTime();
function initStopwatch1() {
var timp_pe_pag1 = new Date();
return ((timp_pe_pag1.getTime() + (1000 * 526) - ceas_start1) / 1000);
}
var time = 5 * 60;
function getSecs1() {
var tSecs1 = Math.round(initStopwatch1());
var iSecs1 = time - tSecs1 % 60;
var tMins1 = Math.round(iSecs1 / 60);
var iMins1 = time - tMins1 % 60;
var sSecs1 = iSecs1 % 60;
var sMins1 = iMins1 % 60;
if (sMins1 === '0' && sSecs1 === '0') {
alert('time is up and you can not continue, the test is submited.');
document.getElementById('time_online1').innerHTML = "times up";
document.qs.submit();
} else {
document.getElementById('time_online1').innerHTML = sMins1 + ":" + sSecs1;
window.setTimeout('getSecs1()', 1000);
}
}
window.setTimeout('getSecs1()', 1000)
现在我想添加一个名为“测试时间限制”的新功能,例如用户只需60分钟即可完成测试:所以计数器应该开始倒计时。
答案 0 :(得分:2)
这是你修改过的功能,它可以倒计数功能 的的Javascript 强>
document.writeln("<span id=\"time_online1\"></span>");
zi_inceput1 = new Date();
ceas_start1 = zi_inceput1.getTime();
function initStopwatch1() {
var timp_pe_pag1 = new Date();
return ((timp_pe_pag1.getTime() + (1000 * 0) - ceas_start1) / 1000);
}
var tim = 05;
function getSecs1() {
var tSecs1 = Math.round(initStopwatch1());
if((tim-tSecs1)>=0)
{
var iSecs1 = (tim-tSecs1) % 60;
var iMins1 = Math.round((tSecs1 - 30) / 60);
var iHour1 = Math.round((iMins1 - 30) / 60);
var iMins1 = iMins1 % 60;
var min = Math.floor((tim-tSecs1) / 60);
var iHour1 = iHour1 % 24;
var sSecs1 = "" + ((iSecs1 > 9) ? iSecs1 : "0" + iSecs1);
var sMins1 = "" + ((iMins1 > 9) ? iMins1 : "0" + iMins1);
var sHour1 = "" + ((iHour1 > 9) ? iHour1 : "0" + iHour1);
document.getElementById('time_online1').innerHTML = min + ":" + sSecs1;
window.setTimeout('getSecs1()', 1000);
}
else
alert("time up");
}
window.setTimeout('getSecs1()', 1000)
您可以在jsfiddle上测试解决方案 。这完成了你的要求伙伴..
更新了nw。