У меня есть куча изображений, которые нужно поворачивать и выводить по одному каждые 2 секунды с помощью модных JQuery fadeIn и fadeOut. У меня есть все изображения в HTML, чтобы предварительно загрузить их, и таймер setInterval, который затемняет текущее изображение, а затем добавляет следующее. JS прерывается, и текущее изображение никогда не исчезает, а следующее исчезает, давая вам два изображения.
У меня такое ощущение, что это как-то связано с тем, что setInterval не работает должным образом каждые 2 секунды, но есть ли лучшие способы для достижения того, что мне нужно?
Вот фрагмент кода:
HTML
<a href="javascript:;">
<img id="img1" src="image1.gif" />
<img id="img2" src="image2.gif" style="display:none;" />
<img id="img3" src="image3.gif" style="display:none;" />
</a>
JS
var numImages = 3;
var currentImage = 1;
imageInterval = window.setInterval("changeImage();", 2000);
function changeImage()
{
$("#img" + currentImage).fadeOut("slow", function() {
if (currentImage >= numImages)
{
currentImage = 0;
}
$("#img" + (currentImage + 1) ).fadeIn("slow", function() {
currentImage++;
});
});
}