jQuery анимация повторяющийся глюк - PullRequest
4 голосов
/ 13 сентября 2010

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

Работает нормально, с одним глюком.Когда я наведите курсор на эти входы, отмените наведение и снова наведите, быстро, через некоторое время они мигают.Как я могу это исправить?

Вот мой код:

    $("input").hover(
    function(){
        $(this).animate({backgroundColor: '#fff'}, 800);
},  function(){
        $(this).animate({backgroundColor: '#666'}, 1400);
    });

(я не хочу изменять время анимации)

Я нашел рабочий пример:

http://veerle.duoh.com/ - проверка ввода ПОИСК - при наведении курсора и быстром отключении мыши - анимация не прекращается и даже не мигает.

Ответы [ 2 ]

3 голосов
/ 13 сентября 2010

Эй, вы должны использовать функцию stop(), чтобы остановить текущую анимацию, иначе jquery завершит стек анимации (все остальные анимации в очереди) перед запуском вашей новой ... См. jQuery queue() function документы, чтобы понять, как работает jQuery FX ...

    $("input").hover(
    function(){
        $(this).stop().animate({backgroundColor: '#fff'}, 800);
    },  function(){
        $(this).stop().animate({backgroundColor: '#666'}, 1400);
    });

См. jQuery stop() функция документы.

1 голос
/ 13 сентября 2010

Вот краткое руководство по остановке jQuery от создания анимации. Я использовал эту технику несколько раз.

http://www.learningjquery.com/2009/01/quick-tip-prevent-animation-queue-buildup

...