2010-12-14 120 views
0

我有一些非常簡單的代碼,我想用它作爲更大的jQuery解決方案的起點。我需要count()函數來循環,但是我不能用下面的代碼來實現,只運行一次然後停止。會欣賞一些指針。jQuery的循環隊列

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

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

回答

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。或者,您可以用$(this).dequeue()代替n(),這兩種方法都適用。如果有幫助,你也可以苗條下來一點,像這樣:

$(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

+0

是的,它的工作原理!謝謝Nick :) – pingu 2010-12-14 12:12:23

+0

嘿,尼克,我對這個問題有疑問 - 想知道你是否有任何建議?你的答案總是我找到的最好的解釋和幫助。 http://stackoverflow.com/questions/4445843/jquery-preloading-images-for-animation – pingu 2010-12-15 04:27:58