我覺得我非常接近它的工作,但仍然無法弄清楚我的代碼有什麼問題。我需要無休止地運行一個函數,通過一系列13或15個不同的圖像隨意交換圖像src,具體取決於它們的大小。這個函數正在工作,但只有一次,它沒有像我計劃的那樣無休止地運行,也沒有得到「太多的遞歸」瀏覽器錯誤。這裏的代碼:無盡的循環不工作
function SwitchImageLoop(image, imageSize){
if(imageSize == '110x110'){var randomNumber = Math.floor(Math.random()*15) + 1};
if(imageSize == '247x110'){var randomNumber = Math.floor(Math.random()*13) + 1};
image = document.getElementById(image);
var randomTimer = Math.floor(Math.random() * 3000) + 1000;
FadeImages(image, imageSize, randomNumber);
var endlessLoop = setTimeout(function(){SwitchImageLoop(image, imageSize)}, randomTimer);
}
function FadeImages(image, imageSize, randomNumber){
$(image).fadeOut(300, function(){
$(image).attr('src', '/halcyonic/images/collage_' + imageSize + '_' + randomNumber + '.jpg').bind('onreadystatechange load', function(){
if(image.complete) $(image).fadeIn(300);
});
});
}
控制檯沒有錯誤?什麼是第一次調用'SwitchImageLoop'? –
除下面的答案外,請儘量減少代碼的工作來隔離問題。試着讓無限循環運行,說輸出數字或簡單的東西。然後慢慢添加功能,直到出現故障。 – Cramer
@ Karl-AndréGagnon,不,完全沒有錯誤。在控制檯上一切看起來都很完美如果我稍微調整一下(刪除第一個函數最後一行的函數()),我會得到遞歸錯誤。 –