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

JavaScript Countdown Timer not starting [Code Included]

本文关键字:包含 代码 启动 倒计时 计时器 JavaScript      更新时间:2023-09-26

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

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

代码目标:代码应该显示一个计时器,直到它显示代码的最后一行中的内容是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非常陌生:)

你错过了

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

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

<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函数不应该在引号中。