JavaScript倒计时计时器无法启动[包含代码]

时间:2011-11-20 18:54:40

标签: javascript countdown

我正在尝试使用JS制作一个倒数计时器。显然。

我认为我的代码是正确的,但它不起作用。

代码目标: 该代码假设显示一个计时器减少,直到它显示代码的alst行中的DONE内容。

问题:我已尝试在我的本地计算机上制作HTML页面并对其进行测试,但它不起作用,我也将其上传到我的网站上,但它也无效。

代码:

<body>

<div 
         id="JSPractice5" 
          style="border-style:dotted; 
          padding:10px; 
          font-size:24px; 
          width:200px; 
          text-align:center;">
Countdown Starting
</div>

<script type="text/javascript">
var containerID = "JSPractice5";
var number = 100;
var timerID = setInterval("CountdownTimer()",1000);
function CountdownTimer() {
if(number > 1) {
    number--;
    ReplaceContentInContainer(containerID,number); //Mark1
    }
else {
    clearInterval(timerID);
    ReplaceContentInContainer(containerID,'DONE!!');
    }
}
   </script>
</body>

如果问题的解决方案容易/愚蠢并且您想要投票,请不要这样做,因为我对SOF和JS很新:)

先谢谢你们。

3 个答案:

答案 0 :(得分:2)

你错过了

function ReplaceContentInContainer(id, content)
{
    document.getElementById(id).innerHTML = content;
}

答案 1 :(得分:1)

重做您的setInterval调用以指定函数本身,而不是包含调用的字符串。

有关工作示例,请参阅http://jsfiddle.net/2zwbV/2/

答案 2 :(得分:-1)

<body>

<div 
         id="JSPractice5" 
          style="border-style:dotted; 
          padding:10px; 
          font-size:24px; 
          width:200px; 
          text-align:center;">
Countdown Starting
</div>

<script type="text/javascript">
var containerID = "JSPractice5";
var number = 100;

function CountdownTimer() {
if(number > 1) {
    number--;
    ReplaceContentInContainer(containerID,number);
    }
else {
    clearInterval(timerID);
    ReplaceContentInContainer(containerID,'DONE!!');
    }
}
var timerID = setInterval(CountdownTimer(),1000);
   </script>

</body>

首先,timerID应该在CountdownTimer函数之后,因为如果不是,你将调用一个不存在的函数,第二个是函数CountdownTimer不应该在引号中。