我正在尝试使用javascript创建倒计时。我从here获得了一些代码并对其进行了修改。
<script type="text/javascript">
var c=10, t;
function timedCount() {
document.getElementById('txt').value=c;
c=c-1;
t=setInterval("timedCount()",1000);
}
function stopCount() {
clearInterval(t);
}
</script>
我需要反复拨打倒计时,直到用户点击链接。它应该每秒倒数10比1(10,9,8,7,6 ... 0)直到链接被点击但它没有。有人能帮助我吗?
编辑: 有人知道如何在倒数0时重新开始倒计时吗?
提前谢谢。
答案 0 :(得分:6)
<script type="text/javascript">
var c=10;
var t;
function timedCount()
{
document.getElementById('txt').value=c;
c=c-1;
}
function startCount()
{
if (!t) t=setInterval("timedCount()",1000);
}
function stopCount()
{
clearInterval(t);
t=null;
}
</script>
当您希望计数器启动时,在onload(或其他)中调用startCount()
。请注意,我的startCount和stopCount不会创建多个间隔计时器。
此外,id = txt的元素必须是<input>
或<textarea>
框,才能使代码正常工作。如果是跨度,则应使用document.getElementById('txt').innerHTML=c;
最后,如果c低于零,您可能希望timedCount()为stopCount()。这很容易:
if (c <= 0) stopCount();