首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在开始新动画之前,清除使用jquery动画所做的所有更改

在开始新动画之前,清除使用jquery动画所做的所有更改
EN

Stack Overflow用户
提问于 2015-01-17 00:19:46
回答 2查看 229关注 0票数 0

我使用jQuery动画来动画一些div的。我有没有办法在动画第二个div之前清除对第一个div所做的所有更改?

代码语言:javascript
代码运行次数:0
运行
复制
      $(".order-b").click(function(event){
        $(".order-t").animate({top:'30%'}, "slow" );
      });

      $(".counsel-b").click(function(){
        $(".counsel-t").animate({top:'30%'}, "slow" );
      });


<div class="process-bars">
   <!-- first DIV -->
   <div class="order-b">
      <div class="order-t">
          <i class="fa fa-shopping-cart"></i>
          <h1>Order</h1>
      </div>                                      
   </div>

   <!-- Second DIV -->
   <div class="counsel-b">
      <div class="counsel-t">
          <i class="fa fa-shopping-cart"></i>
          <h1>Order</h1>
      </div>                                        
   </div>
</div>

CSS代码:

代码语言:javascript
代码运行次数:0
运行
复制
.order-t, counsel-t {
position:absolute;
top:52%;
width: 100%;
margin:0 auto;
z-index:2;

}

当我点击第二个div时,我想清除第一个div的动画。我怎么能这么做呢?!我不想像下面的代码那样做:

代码语言:javascript
代码运行次数:0
运行
复制
     $(".order-b").click(function(event){
        $(".order-t").animate({top:'30%'}, "slow" );
        $(".counsel-t").animate({top:'52%'}, "slow" );
      });
EN

回答 2

Stack Overflow用户

发布于 2015-01-17 00:32:37

如下面的答案所示:https://stackoverflow.com/a/9398960/1585362,要清除通过jquery添加到元素的css,可以使用以下命令:$('.element').removeAttr('style');

票数 1
EN

Stack Overflow用户

发布于 2015-01-17 00:41:59

您可以对.animate()使用回调函数,该函数将在第一个动画完成后运行第二个动画:

代码语言:javascript
代码运行次数:0
运行
复制
$(".counsel-b").click(function(){
  $(".order-t").animate({top:'52%'}, "slow", function(){
      $(".counsel-t").animate({top:'30%'}, "slow" );
  });          
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27988268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档