Frage

Ich habe diesen code:

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

Ich werde versuchen, es zu wechseln, so dass auf den ersten Klick, pop es aus, dann klicken Sie erneut, und setzen Sie ihn wieder hinein.Brauche ich eine variable als tracker?Zu sagen, was Phase ist?

War es hilfreich?

Lösung

Speichern Sie einfach den ursprünglichen Wert irgendwo, und denken Sie daran, zu stoppen in-progress animation bevor Sie eine neue ein.Die animation Routinen kümmert sich um den rest:

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

Andere Tipps

In der Regel jquery toggle funktioniert ziemlich viel in üblicher Weise als unten angegeben, aber ich habe nicht wirklich versucht, es mit animation Sachen, aber diese arbeiten dürfen.

$('.couch-hide').click(function() {
    $(this).animate({right:0},1000, 'easeOutBounce').toggle();                       
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top