jQuery 动画冲突

jQuery animations conflict

我尝试使用 jQuery 动画为 div 的内容设置动画,并使用关闭按钮将所有内容重置为默认值。问题出在点击关闭按钮并将所有内容重置为默认值后,第一个动画再次开始。

$(document).ready(function(){
      $(".order-b").click(function(){
        $(".order-t").animate({top:'30%'}, "slow" );
        $(".order-c").animate({opacity: '1', top:'70%'}, "slow" );
        $(".order-ca").delay('800').animate({opacity:'1'}, "slow" );
      }).clearQueue().stop();

      $(".order-c").click(function(){
        $(".order-ca").animate({opacity:'0'}, "fast" );
        $(".order-t").delay('800').animate({top:'52%'}, "slow" );
        $(".order-c").delay('800').animate({opacity: '0', top:'70%'}, "slow" );

      });
});

<div class="process-bars">
   <div class="process-bar order-b">
      <div class="process-title order-t">
          <i class="fa fa-shopping-cart"></i>
          <h1>Order</h1>
      </div>
      <div class="process-caption order-ca">
          <p>Text</p>
      </div>
      <div class="process-close order-c">
          <i class="fa fa-times-circle"></i>
      </div>                                         
    </div>
</div>

我做错了什么?!

您的 div 与 class

"process-bar order-b"

是来自

的parentdiv
"process-close order-c"

因此,如果您点击 order-c,来自 order-b 的 "click" 事件也会触发。

你必须把 child 和 class order-c 放在外面。不在 div 和 class "order-b".

class .order-b 在 class .order-c 中,因此事件点击将始终在点击进入 div 时触发。 你必须使用 http://api.jquery.com/event.stoppropagation/