Вероятно, на это уже отвечали раньше, и я уже знаю, как это должно работать, но по какой-то причине это не так. Я думаю, что это может быть, как я перебираю элементы.
$(document).ready(function() {
var element = '#gallery ul#gallery-container';
var idx=0;
var timeout = 3000;
var number = $(element + ' li').length;
function changeSlide() {
$(element + ' li:eq(' + idx + ')').fadeOut();
idx = idx + 1;
if (idx == number) {
idx=0;
}
$(element + ' li:eq(' + idx + ')').fadeIn().delay(timeout).delay(0, function() {
changeSlide();
});;
}
$(element + ' li').hide();
$(element + ' li:first').fadeIn().delay(timeout).delay(0, function() {
changeSlide();
});
});
Тогда список выглядит так:
<div id="gallery">
<ul id="gallery-container">
<li><img src="media/images/screen-shot-02.jpg" width="173" height="258" alt=" "></li>
<li><img src="media/images/screen-shot-01.jpg" width="173" height="258" alt=" "></li>
</ul>
</div>
Я пытался заставить его циклически проходить по элементам один за другим, после задержки, чтобы элемент списка вызывал функцию и скрывался, затем счетчик увеличивается, а затем отображается текущий индекс.
Я подозреваю, что виновником этого является то, как будто я поместил предупреждение в функцию, которая называется:
$(element + ' li:eq(' + idx + ')').fadeOut();