为什么我看不到倒数计时器

时间:2015-04-19 01:25:03

标签: javascript

我尝试使用setInterval()制作倒数计时器。我使用其他人制作的代码来学习如何,但它失败了。在找到问题后,我找不到它。

我的代码:

<!DOCTYPE html>
<html>
  <head>
    <title>Count</title>

    <script="text/javascript">
      var Stime = 10;   //Set time(minute)
      var Ssecond = Stime * 60;
      var countdownID=0;

      function inidown(){
        countdownID = setInterval("Count()",1000);
      }

      function Count(){
        if(Ssecond>0){
          var rM=Ssecond/60;
          var rS=Ssecond%60;
          document.getElementById("count").innerHTML=rM+":"+rS;
          Ssecond--;
        }
        else{
          clearInterval(countdownID);
          document.getElementById("out").innerHTML="time out";
        }
      }
    </script>

  </head>
  <body onload="inidown()">
    <div id="count"></div>
    <div id="out"></div>
  </body>
</html>

我在http://blog.niklasottosson.com/?p=665

上看到了该代码
var Stime = 10; //?? ??(?)
var Ssecond = Stime * 60;
var countdownID = 0;

function inidown() {
  countdownID = setInterval("Count()", 1000);
}

function Count() {
  if (Ssecond > 0) {
    var rM = Ssecond / 60;
    var rS = Ssecond % 60;
    document.getElementById("count").innerHTML = rM + ":" + rS;
    Ssecond--;
  } else {
    clearInterval(countdownID);
    DivCount.innerHTML = "Time Out";
    document.getElementById("out").innerHTML = "time out";
  }
}

该代码中没有错误。

2 个答案:

答案 0 :(得分:3)

  1. 您的脚本标记出现问题。

  2. 使用Math.floor作为分钟。

  3. 填充单个数字的秒数。

  4. &#13;
    &#13;
    <html>
    
    <head>
      <title>Count</title>
    
      <script type="text/javascript">
        var Stime = 10; //Set time(minute)
        var Ssecond = Stime * 60;
        var countdownID = 0;
    
        function inidown() {
          countdownID = setInterval("Count()", 1000);
        }
    
        function Count() {
          if (Ssecond > 0) {
            var rM = Math.floor(Ssecond / 60);
            var rS = ("0" + (Ssecond % 60)).slice(-2);
            document.getElementById("count").innerHTML = rM + ":" + rS;
            Ssecond--;
          } else {
            clearInterval(countdownID);
            document.getElementById("count").innerHTML = "";
            document.getElementById("out").innerHTML = "Time Out";
          }
        }
      </script>
    
    </head>
    
    <body onload="inidown()">
      <div id="count"></div>
      <div id="out"></div>
    </body>
    
    </html>
    &#13;
    &#13;
    &#13;

答案 1 :(得分:0)

<script="text/javascript">应该有type属性<script type="text/javascript">

setInterval("Count()",1000);有效,但也可以重写为setInterval(Count,1000);

通过这些更改,它正在发挥作用。