每30秒运行一次ajax并显示倒数计时器

时间:2014-01-09 14:14:49

标签: javascript php ajax countdowntimer

我有一个功能,我想每30秒运行一次。这很好用

$(document).ready(function(){
    setInterval(function() {
        jQuery.ajax({
            type: "GET",
            url: "loaddata.php",
            dataType:"json",
            success:function(response){
                if (response) {
                    // Process
                }
                else {
                    // Process 
                }
            }

        });
    }, 30000);
});

但我想弄清楚如何显示与setInterval内联的倒数计时器。换句话说,它应该显示在ajax运行之前剩余的秒数,一旦该函数运行,它应该重置计时器并再次从30秒倒计时。这个过程会不断重复。我找到了几个倒计时器的例子,但我不知道如何将它与ajax请求同步并重置它。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:7)

每秒运行一个函数,并有一个倒计时为0的计数器。当它达到0时,运行你的ajax代码并重置计数器。像这样:

var count = 30;
setInterval(function() {
    count--;

    // update timer here

    if (count === 0) {
        count = 30;
        // ajax code here
    }
}, 1000);

将计时器中的初始显示值设置为30.然后这将显示29,28,27,...,2,1,0,29,28等。