8

我正在尝试连续执行这些 removeClass 调用。似乎没有使用 removeClass 的回调函数,所以有另一种方法来模拟它吗?

  $("#card1").removeClass('flip');

  //wait for card1 flip to finish and then flip 2
  $("#card2").removeClass('flip');

  //wait for card2 flip to finish and then flip 3
  $("#card3").removeClass('flip');
4

2 回答 2

8

看来您正在使用 CSS3 过渡来执行此操作。最简单的方法是手动设置延迟:

$("#card1").removeClass('flip');

setTimeout(function(){
   //wait for card1 flip to finish and then flip 2
   $("#card2").removeClass('flip');
}, 500);

setTimeout(function(){
   //wait for card2 flip to finish and then flip 3
   $("#card3").removeClass('flip');
}, 1000);

没有内置的 jQuery 方法来检查 css 转换是否完成。

于 2012-11-09T18:04:26.803 回答
3

Old Tread 但 Goolge 认识他 ;-)

jQueries UI 有一个用于 removeClass 的扩展函数。

<div class="big-blue"></div>
$( "div" ).click(function() {
  $( this ).removeClass( "big-blue", 1000, "easeInBack", function(){
      // do fancy stuff after animation is completed
  });
});

jQuery-UI 文档:http ://api.jqueryui.com/removeclass/

于 2019-05-21T09:23:00.693 回答