Мне почти жаль, что я спрашиваю здесь, поскольку я считаю, что это будет простой квест, но я не могу понять, как создать это с помощью jQuery, поскольку я все еще учусь.
Мы пытаемся очистить плохо закодированный веб-сайт с помощью javascript-анимаций, идущих то тут, то там, поэтому я хочу упростить разработку, превратив каждую часть в jQuery вместо взломов DHTML / Javascript, которые сложно поддерживать.
Ситуация
У меня есть два DIV, один для "показанного изображения" называется
<div id="fader"></div> /* the shown object */
Затем где-то в HTML у меня есть определенный пользователем список изображений для отображения в этом контейнере фейдера.
Изображения находятся в контейнере, который я назвал
<div id="fadercontent"></div>
Нравится:
<div id="fadercontent">
<div><img src="image0101.jpg" width="200" height="200" border="0" alt="" /></div>
<div><img src="image0444.jpg" width="200" height="200" border="0" alt="" /></div>
<div><img src="image0256.jpg" width="200" height="200" border="0" alt="" /></div>
<div><img src="image6821.jpg" width="200" height="200" border="0" alt="" /></div>
</div>
Этот список может различаться по размеру, у некоторых есть 1 изображение, у некоторых - 20 ... Причина DIV в том, что когда-нибудь я могу изменить его с IMG на что-то другое. Итак, я хочу захватить все содержимое DIV + и преобразовать этот «DIV» в объект «фейдер».
Решение / идея
Сначала я пытался собрать их в массив. Взяв список из разделов содержимого фейдера.
Что-то вроде:
var fadercontent = $('#fadercontent').children();
Затем я бы взял первый элемент из fadercontent и заменил содержимое "#fader"
Я понял, что $ ("# fader"). Html (...) - это то, как я заменяю содержимое, а fadeIn () будет фейдером непрозрачности.
Я не могу понять:
1) как мне отслеживать, какой элемент следующий, например. найти следующий в объекте fadercontent, чтобы я мог зациклить список. В javascript я использовал длину массива и простой счетчик.
2) как установить скорость анимации. Попытка создать fadeIn через 2 секунды, затем пауза 1 секунда, затем затухание 2 секунды, замена изображения, 2 секунды fadeIn (цикл). Может быть, нужен jQuery.Animate?
Надеюсь, что кто-то с талантом jQuery покажет мне, что мне нужно делать дальше.