Цикл jQuery - уничтожил цикл с помощью автостопа, перезапустил его, теперь он останавливается на 2-м слайде, а не просматривает их все - PullRequest
1 голос
/ 27 января 2012

У меня есть слайдер цикла 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();
});

РЕДАКТИРОВАТЬ:

Ошибка уничтожения по-прежнему сохраняется, и было бы полезно исправить ее.

Однако я смог продублировать нужный эффект, манипулируя моей текущей страницей и ее братья .У меня больше нет необходимости уничтожать и перезапускать слайдер.

1 Ответ

0 голосов
/ 27 января 2012

Попробуйте закомментировать или удалить строку:

autostop: 1,
в tabsanim ()

Здесь новая функция ...

function tabsanim() {
    $('.team_spotlight').cycle({
        fx: 'fade',
        pause: 1,
        speed: 0,
        timeout: 4000,
        cleartypeNoBg: true,
        pager:  '#pagernav',
        pagerAnchorBuilder: paginate,
        pagerEvent: null,
        after: shifttab,
        end: resettabs
    });     
}

................. Следующий таймер НЕ решил проблему, но вышеуказанное изменение решило ее

function resettabs() {
    $('.team_spotlight').cycle('destroy');
    setTimeout("tabsanim()",300);
    }
...