停止jQuery动画并反转

停止jQuery动画并反转,jquery,animation,Jquery,Animation,我有一个移动动画,其工作原理如下: function showMessage() { $('#message').stop().show().animate({top: '60px'}, 500, 'easeOutExpo'); } function hideMessage(msg,hide) { $('#message').stop().delay(time).animate({ top: '0px' }, 600, 'easeInExpo');

我有一个移动动画,其工作原理如下:

 function showMessage() 
 {
     $('#message').stop().show().animate({top: '60px'}, 500, 'easeOutExpo');
 }      

 function hideMessage(msg,hide) 
 {
     $('#message').stop().delay(time).animate({ top: '0px' }, 600, 'easeInExpo');
 }          
动画在显示时将项目移动到60像素,然后在隐藏时将其移回0像素。问题是,如果showMessage在hideMessage完成之前启动,我将得到一个丑陋的跳跃动画

我想要的是showMessage动画基本上反转隐藏消息动画,如果它在隐藏消息完成之前启动


我希望这是有道理的

您需要确保动画A在启动B之前已完成

 $('#message').stop(true,true).show();
也就是说。停止([clearQueue][,jumpToEnd])

你很接近!

您的解决方案更好,因此我接受答案,但它仍然不完美。它从0px开始重新触发showMessage动画,而不是停止隐藏消息(无论它在动画过程中的何处)并返回到60px。我不确定我的要求是否可能。。。