Таймеры Jquery - не могу остановить цикл everyTime

У меня есть небольшая анимация, которая заставляет элементы качаться вверх и вниз. Каждый элемент качается с разной скоростью и величиной. Я использую функцию Jquery Timers (http://plugins.jquery.com/project/timers) EveryTime для бесконечного цикла анимации.

Я успешно заставил элементы качаться вверх и вниз, но я не могу заставить их прекратить использование функции stopTime().

Вот что у меня есть до сих пор:

function randomFromTo(from, to){
   return Math.floor(Math.random() * (to - from + 1) + from);
}

    function bobbing(command){

       if(command=='start'){
          $("#scroller .feature-headline").each(function (i) {
             $(this).everyTime(1, 'bobbing', function (){
                var bobAmount = randomFromTo(5, 10);
                var bobSpeed = randomFromTo(1200, 2000);
                $(this).animate ({marginTop: bobAmount}, bobSpeed, 'linear').animate ({marginTop: 0}, bobSpeed, 'linear');
             });
          });
       } else {
          $("#scroller .feature-headline").each(function (i) {
             $(this).stopTime('bobbing');
          });
       }

    }

Где я ошибаюсь?


person iltdev    schedule 01.11.2011    source источник


Ответы (1)


В этом руководстве проводится различие между остановкой таймера и остановкой анимации. Пример полной остановки анимации:

$( "#ball_holder").stop(true).stopTime();

...так что я бы попробовал

$(this).stop(true).stopTime('bobbing');
person mqsoh    schedule 01.11.2011
comment
Спасибо за ответ mqsoh. К сожалению, анимация продолжается. Он может остановиться на секунду, но трудно сказать. Сама анимация очень дерганая, поэтому мне интересно, нужно ли мне подойти ко всему этому по-другому ... просто не знаю, как! - person iltdev; 01.11.2011
comment
Я заметил, что ваша функция bobbing имеет больший отступ, чем функция случайных чисел. Это может помочь включить другие части вашего кода; вы проверили, что вы не запускаете анимацию в цикле? - person mqsoh; 01.11.2011
comment
Я попытаюсь создать демоверсию, так как полный код находится в стадии разработки, т.е. очень грязный! РЖУ НЕ МОГУ. Возвращайся сразу же. - person iltdev; 01.11.2011
comment
Хммммм. В урезанном демо, которое я делаю, все работает идеально, поэтому мне нужно хорошенько просмотреть исходный код и посмотреть, что отличается. Возможно, я как-то связан с наличием элементов в карусели. - person iltdev; 01.11.2011
comment
У меня произошел сбой Firefox, а когда он перезапустился, все заработало, как и ожидалось! Интересно, это было кеширование? В любом случае, спасибо mqsoh, ваше предложение сработало отлично :) - person iltdev; 01.11.2011