I had a similar problem sometime ago. Without you providing a fiddle it is difficult to give you an example of the exact code you need. Basically the concept is, you need to begin to show the next image as you fade out the current image
DEMO http://jsfiddle.net/nyXUt/161/
var speed = 2000;
run = setInterval("switchSlide()", speed);
$(document).ready(function () {
$('#caption').html($('#slideshow img:first').attr('title'));
$('#slideshow img:gt(0)').hide();
$('#previous').click(function () {
$('#slideshow img:first').fadeOut(1000);
$('#slideshow img:last').fadeIn(1000).prependTo('#slideshow');
$('#caption').html($('#slideshow img:first').attr('title'));
});
$('#next').click(function () {
$('#slideshow img:first').fadeOut(1000).next().fadeIn(1000).end().appendTo('#slideshow');
$('#caption').html($('#slideshow img:first').attr('title'));
});
});
function switchSlide() {
$('#slideshow img:first').fadeOut(1000).next().show().end().appendTo('#slideshow');
$('#caption').html($('#slideshow img:first').attr('title'));
}