Вот JS Fiddle, которая выполняет большую часть того, что вы хотите, у вас все еще, вероятно, есть небольшая настройка, чтобы делать именно то, что вы хотите, но это выполняет "бесконечный цикл", как описано: http://jsfiddle.net/tGLMF/4/
К вашему сведению - в этом скрипте я также обновил ваши функции fadein и fadeout, прежде чем вы установили:
$slide.fadeOut($fade_time);
$slide.css("background-image", $photos.css_url);
$slide.fadeIn($fade_time);
$timeout = setTimeout(function(){slideshow(slideNumber+1);}, ( $fade_time * 2) + 1000 );
Я обновил это так:
$slide.fadeOut($fade_time, function(){
$slide.css("background-image", $photos.css_url);
$slide.fadeIn($fade_time);
$timeout = setTimeout(function(){slideshow(slideNumber+1);}, ( $fade_time * 2) + 1000 );
});
Причина, по которой я это сделал, заключается в том, чтопотому что анимации происходят асинхронно, поэтому вы вызывали fadeOut, но пока он исчезал, вы вызывали fadeIn, что вызвало некоторую странность - это то, что отображалось, и когда
Изменить, чтобы показать начало с изображения 1 Новая скрипка - http://jsfiddle.net/tGLMF/5/