用jQuery循环队列

时间:2010-12-14 12:06:48

标签: jquery

我有一些非常简单的代码,我想用它作为更大的jQuery解决方案的起点。我需要循环count()函数,但是无法通过下面的代码实现这一点,该代码只运行一次然后停止。会不胜感激。

$(function() {
    count();
});

function count(){
    var $count = parseInt($("#count").text());
    $("#count").text($count).delay(2000).queue(function() {
        $(this).text($count+1);
        count();
    });
}

1 个答案:

答案 0 :(得分:3)

您需要调用队列中的下一个函数,如下所示:

$(count);

function count(){
    var $count = parseInt($("#count").text());
    $("#count").text($count).delay(2000).queue(function(n) {
        $(this).text($count+1);
        count();
        n();
    });
}

You can test it out here。或者,您可以将n()替换为$(this).dequeue(),无论哪种方式都有效。如果它有帮助,你也可以减少一点,如下:

$(count);    
function count(){
    $("#count").delay(2000).queue(function(n) {
        count();
        $(this).text(function(i, t) { return parseInt(t, 10)+1; }).dequeue();
    });
}

You can test that version here