Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.05.2013, 06:14
Аспирант
Отправить личное сообщение для Petja Посмотреть профиль Найти все сообщения от Petja
 
Регистрация: 13.03.2011
Сообщений: 57

При повторении несколько раз animate - рассинхрон...
У меня карусель, есть функция подвинуть на один влево или вправо.
Если надо несколько раз прокрутить картинки - то запускается функция несколько раз.

Внутри функции несколько $(selector).animate, его можно при полном выполнении запустить что-то следующее так:

$(selector).animate({right: '-500px'}, 500, function(){ // что-то сделать после выполнения... });

Но как осуществить возможность с повторением N раз нескольких анимаций, причем следующие анимации повторяются после полного завершения предыдущих?

Подскажите, как такое можно организовать?
Ответить с цитированием
  #2 (permalink)  
Старый 21.05.2013, 08:46
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

поставить при выполнении анимации флаг .
если флаг установлен забивать нажатия вы какой то стек.
и по окончании анимации проверять, если стек не пустой -запускать анимацию след, иначе сбросить флаг
Ответить с цитированием
  #3 (permalink)  
Старый 21.05.2013, 12:54
Аспирант
Отправить личное сообщение для Petja Посмотреть профиль Найти все сообщения от Petja
 
Регистрация: 13.03.2011
Сообщений: 57

Проблема в том, что мне надо сразу после одного полного выполнения функции с анимацией запустить ее повторно.

Видимо кроме как рекурсии ничего не придумать...
Ответить с цитированием
  #4 (permalink)  
Старый 21.05.2013, 12:56
Аспирант
Отправить личное сообщение для Petja Посмотреть профиль Найти все сообщения от Petja
 
Регистрация: 13.03.2011
Сообщений: 57

Дополнительная проблема в том, что анимации две отдельных:

imgCurr.css({'right':0,left:'auto'})
                .animate({right: -globs.imgWidth}, speed,function(){
                    imgCurr.removeClass('active');
                    globs.imgCurrLock = false;
                });
            $('#carousel img').eq(nextInd)
                .addClass('active')
                .css({'right': globs.imgWidth,'left':'auto'})
                .animate({right: 0}, speed, function(){
                    globs.imgNextOrPrevLock = false;
                });
Ответить с цитированием
  #5 (permalink)  
Старый 21.05.2013, 12:58
Аспирант
Отправить личное сообщение для Petja Посмотреть профиль Найти все сообщения от Petja
 
Регистрация: 13.03.2011
Сообщений: 57

Можно ли как-то прослушивать постоянно глобальные переменные, чтобы при изменении одной и второй в false запустить функцию второй раз? Что-то вроде do..while? Не будет ли это слишком ресурсоемко?
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Обработчик click вызывается несколько раз или не всегда вызывается OlegJquery jQuery 2 21.07.2011 20:37
Несколько простых вопросов от чайника Lucidmind Общие вопросы Javascript 2 06.05.2011 11:59
Запуск функции несколько раз подряд с разными параметрами ZaetS Общие вопросы Javascript 0 07.04.2011 19:43
live click выполняется несколько раз hara jQuery 9 09.06.2010 10:58