0

我在 java 脚本中有一个工作倒计时计时器,它从 120 秒倒计时到 0,现在我想将其更改为 COUNT UP 计时器,尝试一些仍然不起作用的东西。任何人都可以帮助将其更改为 COUNT UP 而不是 COUNT DOWN。

下面是代码:

<script type="text/javascript" >
var m = 0;
var s = 120;
var timer_container = document.getElementById("survey-timer");
timer_container.innerHTML = s + "." + m;

function timer() {
    if (m<=0) {
        m = 9;
        s -= 1;
    }
    if(s>=0) {
        m -= 1;
        timer_container.innerHTML = s + "." + m;
        setTimeout(timer,100);
    }
}
</script>
4

2 回答 2

1

您想从 120 或从 0 开始计数。低于 1 只需从 0 开始计数。

   <script type="text/javascript" >
    var m=0
    var s=0
    var timer_container=document.getElementById("survey-timer");
    timer_container.innerHTML=s+"."+m;

    function timer(){
    if (m>=9){
        m=-1;
        s+=1;
    }
    if(s>=0){
        m+=1;
        timer_container.innerHTML=s+"."+m;
        setTimeout(timer,100);
    }
    }
    </script> 

这是来自jsfiddle的工作示例

于 2013-04-29T14:26:06.800 回答
1

如果是我,我会这样做:

var base = new Date();
var timer_container = document.getElementById("survey-timer");

timer();

function timer() {
  var now = new Date();
  // elapsed time in seconds
  var elapsed = (now - base) / 1000.0;
  timer_container.innerHTML = elapsed.toFixed(1);
  setTimeout(timer, 100);
}
<div id="survey-timer">&nbsp;</div>

因为我认为如果超时因任何原因被延迟,问题和 rahul 的答案中使用的技术可能会“滑倒”。

于 2013-04-29T14:48:23.323 回答