Переключить анимацию? - PullRequest
       9

Переключить анимацию?

2 голосов
/ 27 апреля 2009

У меня есть этот код:

$('.couch-hide').click(function() {
    $(this).animate({right:0},1000, 'easeOutBounce');           
});

Я пытаюсь заставить его переключаться, поэтому при первом щелчке, вытащите его, затем щелкните еще раз и поместите обратно внутрь. Нужно ли мне установить переменную в качестве трекера? Чтобы сказать, на какой стадии он находится?

Ответы [ 2 ]

6 голосов
/ 27 апреля 2009

Просто сохраните исходное значение где-нибудь и не забудьте остановить любую текущую анимацию, прежде чем начинать новую. Анимация позаботится обо всем остальном:

var panel = $('.couch-hide');
var originalPos = panel.css("right");
panel.toggle(function() {
    $(this).stop().animate({right:0},1000, 'easeOutBounce');
  },
  function() {
    $(this).stop().animate({right:originalPos},1000, 'easeOutBounce');
  });
0 голосов
/ 27 апреля 2009

Как правило, переключение jquery работает в основном стандартным способом, как показано ниже, однако я не пробовал его с анимацией, но это может сработать.

$('.couch-hide').click(function() {
    $(this).animate({right:0},1000, 'easeOutBounce').toggle();                       
});
...