Это продолжение этого поста , которое делает именно то, что мне нужно, за исключением проблемы.
Я вращаю изображения, используя div, которые просто показывают и скрывают div каждые 5 секунд, используя setInterval.
Проблема этого подхода заключается в том, что я загружаю анимированные GIF-файлы, поэтому даже при переключении следующего изображения оно становится грязным, потому что изображения были там все время и анимировались.
Итак, что происходит, так это то, что image1 (div1) запустится заново с анимацией, исчезнет, и будет показано image2 (div2), но анимация уже началась, когда она была невидимой.
Мне нужен метод загрузки этих изображений заново, чтобы анимация начиналась с самого начала, когда появляется следующий div. Единственный способ сделать это с помощью Gif - это загрузить их из кеша, а это Решение мне нужно с помощью JQuery.
Вот что у меня есть:
var images = new Array ('.advert1', '.advert2');
var index = 0;
function rotateImage()
{
$(images[index]).fadeOut('fast', function()
{
index++;
if (index == images.length)
{
index = 0;
}
$(images[index]).fadeIn('fast');
});
}
setInterval (rotateImage, 5000);
И в моем html:
<div>
<div class="advert1"><img id="myImage" src="advert1.gif" alt="image test" /></div>
<div class="advert2"><img src="advert2.gif" alt="image test" /></div>
</div>
Теперь мне нужно, чтобы я «выглядел» так, как если бы изображения каждый раз загружались свежими, чтобы при появлении div анимация начиналась с самого начала.
Кто-нибудь знает, как я могу взломать это?
Спасибо!