为什么addClass()在jQuery中开始动画之前工作?

时间:2014-03-23 18:30:04

标签: jquery css css3 jquery-animate addclass

我使用queue()。但是,只有在动画结束后才能让我的div变为红色

如何正确地做到这一点?

小提琴: http://jsfiddle.net/HrT6u/

HTML:

<div class="ext_div">
    <div>
        <span>A</span>
    </div>
</div>

JS代码:

$("div.ext_div div").queue(
    function() {
      $(this).animate({opacity: "1", right: "400px"},
                      {duration : 1200, 
                       step : function() {
                                $(this).css("overflow", "visible");
                                $(this).addClass("animation_end");
                              }
                       }).dequeue();
     });

2 个答案:

答案 0 :(得分:0)

改变&#34;步骤&#34;通过&#34;完成&#34;像这样:

$(document).ready(function(){

  $("div.ext_div div").queue(
        function() {
          $(this).animate({opacity: "1", right: "400px"},{duration : 1200, complete : function() {
                $(this).css("overflow", "visible");
                $(this).addClass("animation_end");
                                    }
}
                           ).dequeue();
                     });

    return false;

});

答案 1 :(得分:0)

这就是你所需要的一切

$(document).ready(function() {
  $("div.ext_div div").animate({opacity: "1", right: "400px"}, 1200, function() {
     $(this).css("overflow", "visible").addClass("animation_end");
  });
});

FIDDLE