Вопрос
У меня есть этот код:
$('.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();
});
Не связан с StackOverflow