考試剩余時間倒計時
方法:
<script type="text/javascript">
$(function () {
//默認加載定時器
dtstart = new Date();
setTimeout(function () { TestTime(dtstart, dtstart, "@sumss", 0); });
})
var t = $("#lefttimer");//剩余時間顯示標簽
//第一次循環
function TestTime(dtstart, dtup, sums, n) {
dt = new Date();
var dates = Math.abs(dt - new Date(dtstart)) / 1000;//當前時間與考試開始時間間隔
var sss = @sumss - dates;//考試剩余總秒數
var ss = parseInt(sss % 60);
var hh = parseInt(sss / 60 / 60 % 24);
var mm = parseInt(sss / 60 % 60);
if (ss < 10 && ss >= 0) {
ss = "0" + ss;
}
if (hh < 10 && hh >= 0) {
hh = "0" + hh;
}
if (mm < 10 && mm >= 0) {
mm = "0" + mm;
}
t.html(hh+ " : " + mm + " : " + ss);
var dt1 = new Date();
setTimeout(function () { TestTimes(dt, dt1, sss); }, 1000);
}
//不在考試期間修改時間時
function TestTimes(dtstart, dtup, sums) {
dt = new Date();
var s = Math.abs(dt - dtup) / 1000;//當前時間和上一次循環的當前時間相差秒數
if (s > 5 || s < -5) {
TestTimes2(dtstart, dtup, sums);
}
else {
var dates = Math.abs(dt - dtstart) / 1000;//當前時間與考試開始時間間隔
var sss = sums - dates;//考試剩余總秒數
var ss = parseInt(sss % 60);
var hh = parseInt(sss / 60 / 60 % 24);
var mm = parseInt(sss / 60 % 60);
if (ss < 10 && ss >= 0) {
ss = "0" + ss;
}
if (hh < 10 && hh >= 0) {
hh = "0" + hh;
}
if (mm < 10 && mm >= 0) {
mm = "0" + mm;
}
t.html(hh + " : " + mm + " : " + ss);
if (hh <= 0 && mm <= 0 && ss <= 0) {
setTimeout(function () { timeisUp(); }, 1000);
}
else {
var dt1 = new Date();
var s = Math.abs(dt - dt1) / 1000;
if (s > 6 || s < -6) {
TestTimes2(dtstart, dtup, sums);
}
setTimeout(function () { TestTimes(dt, dt1, sss); }, 1000);
}
}
}
//在考試期間修改服務器時間
function TestTimes2(dtstart, dtup, sums) {
//獲取服務器當前時間
$.post("/Student/Attestation/GetNoew", function (data) {
var dt = new Date();
var dates = Math.abs(new Date(data) - new Date("@startTime")) / 1000;//當前時間與考試開始時間間隔
var sss = @sumss -dates;//考試剩余總秒數
var ss = parseInt(sss % 60);
var hh = parseInt(sss / 60 / 60 % 24);
var mm = parseInt(sss / 60 % 60);
if (ss < 10 && ss>=0) {
ss = "0" + ss;
}
if (hh < 10 && hh >= 0) {
hh = "0" + hh;
}
if (mm < 10 && mm >= 0) {
mm = "0" + mm;
}
t.html(hh + " : " + mm + " : " + ss);
if (hh <= 0 && mm <= 0 && ss <= 0) {
setTimeout(function () { timeisUp(); }, 1000);
}
else {
var dt1 = new Date();
setTimeout(function () { TestTimes(dt, dt1, sss); }, 1000);
}
})
}
</script>
考試剩余時間倒計時