2011-07-06 60 views
0

我有以下JavaScript代码。它是一个计时器代码。如果测验3分3秒,则计时器停止,3秒后计时20秒。但是,如果测验是3以外的其他任何东西,这段代码就不适用了。有谁能帮我解决这个问题吗?javascript不工作

<script type="text/javascript"> 
    var days = 0 
    var hours = 0 
    var minutes = 0 
    var seconds = 20 
    var delay_countdown = <?php echo ($quiz == 3) || 0 ; ?>; 
function setCount() 
{ 
    document.getElementById("remain").innerHTML = seconds+" seconds"; 
    SD=window.setTimeout("setCount()", 1000); 
    if (delay_countdown) { 
    return 
    } 
    seconds--; 
    if (seconds < 0){ 
     minutes--; 
     seconds = 59 
    } 
    if (minutes < 0){ 
     hours--; 
     minutes = 59 
    } 
    if (hours < 0){ 
     days--; 
     hours = 23 
    } 

} 

</script> 

回答

1

您的脚本工作对我来说,如果$测验什么事情比其他3(如果是3 delay_countdown将是真实的,并返回四号线功能)。

供应时delay_countdown是真正不同的延迟时间:

SD=window.setTimeout(setCount, (delay_countdown)?3000:1000); 

,并设置delay_countdownfalse离开函数之前:

if (delay_countdown) { 
    delay_countdown=false; 
    return; 
    } 
+0

非常感谢......它的工作原理。 – Gurnor