我想我已经很接近让它工作了,但仍然无法弄清楚我的代码有什么问题。我需要无休止地运行一个函数,通过一系列 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);
});
});
}