Javascript php中测试引擎的倒计时
您好,我正在尝试添加倒计时在我的测试引擎。但我无法展示这一点。若我在php页面中添加脚本,那个么它会工作,但会重新加载并重新启动。但若我将java脚本文件分开以避免重新加载,那个么就不能显示计时器。我正在添加代码,请建议我使用合适的ans。Html和js在单独的文件中Javascript php中测试引擎的倒计时,javascript,php,time,countdowntimer,Javascript,Php,Time,Countdowntimer,您好,我正在尝试添加倒计时在我的测试引擎。但我无法展示这一点。若我在php页面中添加脚本,那个么它会工作,但会重新加载并重新启动。但若我将java脚本文件分开以避免重新加载,那个么就不能显示计时器。我正在添加代码,请建议我使用合适的ans。Html和js在单独的文件中 <script> //define your time in second var c=120; var t; timedCount(); function timedCoun
<script>
//define your time in second
var c=120;
var t;
timedCount();
function timedCount() {
var hours = parseInt( c / 3600 ) % 24;
var minutes = parseInt( c / 60 ) % 60;
var seconds = c % 60;
var result = (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds);
document.getElementById("timer").innerHTML=result;
if(c == 0 ) {
//setConfirmUnload(false);
//$("#quiz_form").submit();
window.location="result.php?td=$tid";
}
c = c - 1;
t = setTimeout(function() {
timedCount()
},
1000);
}
</script>
//html
<div class='col-md-12 sub_top'>
<h4 style="color:#FF0000" align="center">
Time Remaining : <span id='timer'></span>
</h4>
</div>
//用秒来定义你的时间
var c=120;
变量t;
timedCount();
函数timedCount(){
var小时=parseInt(c/3600)%24;
var分钟数=parseInt(c/60)%60;
var秒=c%60;
var结果=(小时<10?“0”+小时:小时)+“:”+(分钟<10?“0”+分钟:分钟)+“:”+(秒<10?“0”+秒:秒);
document.getElementById(“计时器”).innerHTML=结果;
如果(c==0){
//setConfirmUnload(假);
//$(“#测验表格”)。提交();
window.location=“result.php?td=$tid”;
}
c=c-1;
t=设置超时(函数(){
timedCount()
},
1000);
}
//html
剩余时间:
脚本运行时,您试图查找的元素(document.getElementById(“timer”))不在DOM中
解决方案1
要解决这个问题,您可以在事件发生时执行代码
解决方案2
在上执行代码(文档就绪)
解决方案3
将脚本移动到结束正文标记之前。此解决方案的问题在于每次重新加载页面时,计时器都会从头开始。我不希望,实际上是它的在线测试引擎,在提交每个问题后,页面会重新加载另一个问题,计时器也从开始启动,但不希望重新加载计时器。更改窗口位置时,可以将剩余时间作为GET参数传递
window.onload = function(){
timedCount();
}
document.addEventListener('DOMContentLoaded', function(){
timedCount();
}, false);