ajax / JS定时倒计时?

时间:2010-06-02 09:28:06

标签: javascript timer

让我解释一下我要做的事情。

我想制作一个简单的方框,按照我指定的间隔倒数。

例如,我想将它设置为从150开始,然后我想将其设置为每30秒降低15个。

这可以用AJAX / Javascript吗?如果是这样,有人会指出我正确的方向吗?

非常感谢这个剧本的任何帮助,谷歌搜索已经好几个小时了! :(

干杯

基兰

5 个答案:

答案 0 :(得分:1)

查看setTimeoutsetInterval方法,它们允许您在指定的毫秒数(1000毫秒= 1秒)后执行函数。使用它来调用一个不断删除数字并将其写入HTML元素的函数可以看到它。

答案 1 :(得分:1)

这未经过测试,但我希望它能为您指明方向。

var start = 150;
var drop = 15;
var interval = 30;

function countdown(){
    document.getElementById('mybox').innerHTML = start;
    start-=drop;
    window.setTimeout("countdown",interval*1000);
}

countdown();

答案 2 :(得分:0)

您可以使用jQuery来执行此操作,请参阅http://keith-wood.name/countdown.html - >选项卡回调

答案 3 :(得分:0)

请注意,浏览器中的30秒不一定等于浏览器中的30秒。这取决于浏览器的工作量。 短时间内的时差很小,但可能会持续很长时间。时代将分崩离析。如果两个访客之间的时间不能相等(或几乎相等),那么这个简单的解决方案应该没问题。

我们曾经有一个问题是在我们的一个项目中引入一个实时时钟/倒计时。我们使用javascript,ajax和PHP构建一个用于时钟同步的脚本(服务器时间是时间服务器)。

答案 4 :(得分:0)

您应该使用为此类任务设置的setInterval / clearInterval:

function cooldown(element, start, stop, step, delay) {
    var current = start;
    element.innerHTML = current;
    var timer = setInterval(function () {
        current -= step;
        if(current < stop) current=stop;
        element.innerHTML = current;
        if(current == stop) clearInterval(timer);
    }, delay*1000);
}

在此演示:http://jsfiddle.net/PCMHn/