1
我期望下面的代碼運行如下: 1)遍歷for循環直到完成。 2)執行回調函數jQuery中的意外回調行爲
而是在每次迭代後執行回調函數。這是範圍問題嗎?我誤解了回調的控制流程嗎?
function flipPages(direction,n,duration,callback){
for(i=0;i<n;i++){
setTimeout(function() { $('#flipbook').turn(direction);}, ((i+1) * duration));
}
callback;
}
flipPages("next",4,1000,flipPages("previous",4,2000));
在將參數作爲回調傳遞之前,您無法將參數傳遞給回調。你正在做的是立即執行「上一步」,然後執行「下一步」。此外,你從來沒有執行'回調',你缺少'()' –
你誤解了setTimeout我認爲...流程可能如下:1)循環遍歷,啓動超時2)啓動回調3)啓動所有的方法調用現在超時結束 –
你應該嘗試這一點,正如@KevinB flipPages(「next」,4,1000,function(){flipPages(「previous」,4,2000)})指出的那樣。 –