Этот скрипт не сильно отличается от того, что у вас есть, и достаточно прост. Чтобы добиться исчезновения, я добавил класс с непрозрачностью 0 (и установил текущую непрозрачность на 1). Непрозрачность изменяется с переходом css (с классом затухания, добавляемым в javascript).
Я настроил изображения как массив в javscript (зависит от того, работает ли это для вашего кода, зависит на сколько изображений у вас есть, но я догадался, так как это простой пример, вы использовали только несколько). Для демонстрации я использовал изображения-заполнители разных размеров.
Как видите, javascript довольно короткий и простой; проходит через массив и отображает каждое изображение в течение 3 секунд. (8 секунд для демонстрационных целей!)
Надеюсь, вы найдете это полезным.
var myImages = [
'http://placehold.it/300x200',
'http://placehold.it/300x150',
'http://placehold.it/400x250'
],
curIndex = 0;
imgShow = 3000; /*yours is 8 secs, but for demo purposes, 3 secs is shorter!*/
function playSlides() {
document.getElementById('slider').className += "fadeOut";
setTimeout(function() {
document.getElementById('slider').src = myImages[curIndex];
document.getElementById('slider').className = "";
}, 1000);
curIndex++;
if (curIndex == myImages.length) {
curIndex = 0;
}
setTimeout(playSlides, imgShow);
}
playSlides();
#slider {
opacity: 1;
transition: opacity 1s;
}
#slider.fadeOut {
opacity: 0;
}
<img id="slider" src="http://placehold.it/200x200">