Javascript时间

时间:2008-11-23 00:02:31

标签: javascript timing

我正在尝试使用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时重新开始倒计时吗?

提前谢谢。

1 个答案:

答案 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();