Изменить скорость анимации с помощью jQuery - PullRequest
2 голосов
/ 08 мая 2011
$("a").hover(function(){
    $(this).animate({left: '-500px'}, 'slow');
);

Я использую этот код для анимации позиции ссылки. Я перемещаю его в левый угол со slow скоростью анимации.

Как изменить скорость анимации на fast при нажатии на ссылку?

Мы должны получить:

  • slow анимация при наведении ссылки.
  • fast при нажатии.

Проблема в том, что ссылка может быть уже анимированной, когда мы пытаемся щелкнуть по ней. Что ты думаешь?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 08 мая 2011
$("a").hover(function(){
    $(this).animate({left: '-500px'}, 'slow');
).click(function() {
    $(this).dequeue().animate({left: '-500px'}, 'fast');
});
0 голосов
/ 08 мая 2011

Это может работать, используя stop(), чтобы остановить любую анимацию, уже запущенную.

$("a").click(function(){
    $(this).stop()
    $(this).animate({left: '-500px'}, 'fast');
);
0 голосов
/ 08 мая 2011

Вы можете попробовать:

$("a").click(function(){
    $(this).stop(true).animate({left: '-500px'}, 'fast');
);

(не проверено)

...