У меня есть слайдер цикла jQuery (.team_spotlight) с 9 слайдами. Он настроен на автоматическую остановку. После автостопа он должен запускать пользовательскую функцию, которая уничтожает ползунок, а затем перезапускает все.
В первый раз, когда ползунок просматривает все 9 слайдов, он отлично работает. Однако после того, как ползунок уничтожен, а затем перезапущен, он останавливается на втором слайде вместо того, чтобы проходить через все 9.
Причина такой странной настройки в том, что у меня есть собственный класс («переворот»), добавляемый к моему пейджеру каждый раз, когда слайд продвигается. Вы можете представить себе мой пейджер так: активная страница желтого цвета, предыдущие страницы красные, предстоящие страницы зеленые. Я также вставляю уникальные идентификаторы на каждую страницу, чтобы сделать еще несколько стилевых вещей.
Как только я закончу со всеми слайдами, мне нужно сбросить мой пейджер, потому что мне нужно, чтобы все страницы снова стали зелеными, когда мы вернемся к первому слайду. Следовательно, уничтожение и перезапуск цикла.
Если есть лучший способ добиться этого цветового эффекта (без необходимости разрушать ползунок), я весь в ушах. В противном случае мне нужно исправить, почему цикл «застревает» на втором слайде после уничтожения и перезапуска.
Мой javascript:
function paginate(ind, el) {
return '<a class="slidenav" id="slide' + ind + '"></a>';
}
function shifttab() {
$('.activeSlide').addClass('flip');
}
function resettabs() {
$('.team_spotlight').cycle('destroy');
tabsanim();
}
function tabsanim() {
$('.team_spotlight').cycle({
fx: 'fade',
pause: 1,
speed: 0,
timeout: 4000,
cleartypeNoBg: true,
pager: '#pagernav',
pagerAnchorBuilder: paginate,
pagerEvent: null,
after: shifttab,
autostop: 1,
end: resettabs
});
}
$(document).ready(function() {
tabsanim();
});
РЕДАКТИРОВАТЬ:
Ошибка уничтожения все еще существует, и было бы полезно ее исправить.
Однако я смог воспроизвести желаемый эффект, управляя моей текущей страницей и ее братьями и сестрами. У меня больше нет необходимости уничтожать и перезапускать слайдер.