Вопрос

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

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

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

Это было полезно?

Решение

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

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');
  });

Другие советы

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

$('.couch-hide').click(function() {
    $(this).animate({right:0},1000, 'easeOutBounce').toggle();                       
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top