При повторении несколько раз animate - рассинхрон...
У меня карусель, есть функция подвинуть на один влево или вправо.
Если надо несколько раз прокрутить картинки - то запускается функция несколько раз. Внутри функции несколько $(selector).animate, его можно при полном выполнении запустить что-то следующее так: $(selector).animate({right: '-500px'}, 500, function(){ // что-то сделать после выполнения... }); Но как осуществить возможность с повторением N раз нескольких анимаций, причем следующие анимации повторяются после полного завершения предыдущих? Подскажите, как такое можно организовать? |
поставить при выполнении анимации флаг .
если флаг установлен забивать нажатия вы какой то стек. и по окончании анимации проверять, если стек не пустой -запускать анимацию след, иначе сбросить флаг |
Проблема в том, что мне надо сразу после одного полного выполнения функции с анимацией запустить ее повторно.
Видимо кроме как рекурсии ничего не придумать... |
Дополнительная проблема в том, что анимации две отдельных:
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; }); |
Можно ли как-то прослушивать постоянно глобальные переменные, чтобы при изменении одной и второй в false запустить функцию второй раз? Что-то вроде do..while? Не будет ли это слишком ресурсоемко?
|
Часовой пояс GMT +3, время: 07:03. |