Мне кажется, проблема в том, что вы используете
t = setTimeout(slideShow(), 5000);
slideShow () немедленно выполняет функцию slideShow ().Попробуйте заменить его на:
t = setTimeout('slideShow()', 5000);
.Имейте в виду, что здесь используется eval, который считается небезопасным (но не в этом случае) и медленным.
Fade не работает, потому что Fade работает асинхронно в вашем коде, что означает, что оно затухает, пока онозатухание в одно и то же время (что делает некоторые странные ситуации очевидными).
function runSlideShow() {
if(i >= 7) i = 1;
$("#ss1").fadeTo("slow",0, function() {
document.getElementById('ss1').src = "img/" + i + ".jpg";
$("#ss1").fadeTo("slow",1, function() {
i += 1;
t = setTimeout('slideShow()', 5000);
});
});
}
должно работать.Поскольку код между функцией () {} теперь будет выполняться после завершения затухания.