我有一些非常简单的代码,我想用它作为更大的jQuery解决方案的起点。我需要循环count()函数,但是无法通过下面的代码实现这一点,该代码只运行一次然后停止。会不胜感激。
$(function() {
count();
});
function count(){
var $count = parseInt($("#count").text());
$("#count").text($count).delay(2000).queue(function() {
$(this).text($count+1);
count();
});
}
答案 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();
});
}