Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   зацикливание анимации (https://javascript.ru/forum/jquery/8205-zaciklivanie-animacii.html)

theo_ 14.03.2010 19:06

зацикливание анимации
 
вешаю на div обработчик mouseenter

Код:

$(arrow).animate({
        right: 5
        }, 200);
      $(arrow).animate({
        right: 25
        }, 200);

так вот этот код выполняется один раз, нужно зациклить анимацию, пока мышка находится наверху, как только происходит mouseleave, нужно ее остановить

прошу помочь

пытался зациклить по флагу while (true) анимацию, а при mouseleave переводить флаг в false - браузер вешается...

sysya 14.03.2010 22:08

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

micscr 15.03.2010 08:27

Используйте 4-ый параметр - функцию которая вызовется при окончании анимации для зацикливания по флагу.
animate( properties, [ duration ], [ easing ], [ callback ] )

sysya 15.03.2010 10:53

Цитата:

Сообщение от micscr (Сообщение 47694)
Используйте 4-ый параметр - функцию которая вызовется при окончании анимации для зацикливания по флагу.
animate( properties, [ duration ], [ easing ], [ callback ] )

В голове даже прибавилось :), знал про callback но почему то даже не подумал...

theo_ 15.03.2010 13:09

спасибо, сделал с помощью callback, все работает


Часовой пояс GMT +3, время: 07:31.