Javascript 我的测验倒计时计时器未按预期工作
我已经用php创建了一个简单的测验网站,我想为每个问题集成30秒的倒计时,下面是代码:Javascript 我的测验倒计时计时器未按预期工作,javascript,html,Javascript,Html,我已经用php创建了一个简单的测验网站,我想为每个问题集成30秒的倒计时,下面是代码: var timeleft = 30; var downloadTimer = setInterval(function(){ timeleft--; document.getElementById("countdowntimer").textContent = timeleft; if(timeleft <= 0) { clearInterval(download
var timeleft = 30;
var downloadTimer = setInterval(function(){
timeleft--;
document.getElementById("countdowntimer").textContent = timeleft;
if(timeleft <= 0) {
clearInterval(downloadTimer);
}
document.getElementById("quiz").submit();
},1000);
var timeleft=30;
var downloadTimer=setInterval(函数(){
时间限制--;
document.getElementById(“倒计时”).textContent=timeleft;
如果(时间限制)
>
>
这里还有一段javascript代码,用于在没有选择的情况下停止使用以转到下一个问题
document.getElementById("quiz").onsubmit = function(event){
var btn = document.getElementById("next");
var choices = document.getElementsByClassName("choices");
for(var i=0;i<choices.length;i++){
if(choices[i].checked){
return true;
}
}
event.preventDefault();
return alert("you must choose option first");
}
document.getElementById(“测验”).onsubmit=函数(事件){
var btn=document.getElementById(“下一步”);
var choices=document.getElementsByClassName(“选项”);
对于(var i=0;i试试这个
var timeleft=30;
var downloadTimer=setInterval(函数(){
时间限制--;
document.getElementById(“倒计时”).textContent=timeleft;
如果(timeleft尝试这个
var timeleft=30;
var downloadTimer=setInterval(函数(){
时间限制--;
document.getElementById(“倒计时”).textContent=timeleft;
if(timeleft)是不是刚好在它达到零之前,你看到了吗?你能试着把timeleft--
移到if(timeleft否)下吗?测验开始时,表单提交时,它从不倒计时移动submit()
在if
条件内调用这是因为表单提交语句不在if块内。您可以尝试countdown.js,是不是正好在它达到零之前看到了这个?您可以尝试将timeleft--
向下移动到if(timeleft否)下吗?当测验开始提交表单时,它永远不会倒计时移动submit()
在if
条件内调用这是因为表单提交语句不在if块内。您可以尝试countdown.js,这似乎是一个很好的答案,将提交移到剩余时间检查内,我已经投了赞成票。可能会添加一些解释,但对我来说似乎足够清楚。但正如@David所建议的,您应该添加更多关于h的详细信息你怎么解决的。你说得对。谢谢你的努力。但是我编辑了我的问题。还有一个问题似乎是一个好答案,将提交移到左时间内检查,我投了更高的票。也许可以添加一些解释,但对我来说似乎足够清楚。但是正如@David所建议的,你应该添加更多关于如何解决它的细节。你是正确的谢谢你的帮忙。但是我编辑了我的问题还有一个问题
<form action="process.php" method="get" id="quiz">
<ul class="list-unstyled" id="questions">
<li> <h3><?php echo $question['questions']; ?></h3>
<ul class="list-unstyled">
<?php
while($choice = mysqli_fetch_assoc($result)){
echo "<li><input type='radio' name='quiz' class='choices' value='".$choice['id']."' > ".$choice['choices']." </li> ";
} ?>
</ul>
</li>
<input type="hidden" name="start" value=<?php echo $start; ?>>
<input type="hidden" name="cate" value=<?php echo $selected; ?>>
<input type="hidden" name="total" value=<?php echo $total; ?>>
<input type="hidden" name="qn" value=<?php echo $questionnumber; ?>>
<li> <input type="submit" value="Next" class="btn btn-primary" id="next"> </li>
</ul>
</form>
document.getElementById("quiz").onsubmit = function(event){
var btn = document.getElementById("next");
var choices = document.getElementsByClassName("choices");
for(var i=0;i<choices.length;i++){
if(choices[i].checked){
return true;
}
}
event.preventDefault();
return alert("you must choose option first");
}