我正在尝试使用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很新:)
先谢谢你们。
答案 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不应该在引号中。