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?
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