Paul
Paul

Reputation: 11746

Can I emulate a callback function from jquery removeClass?

I'm trying to execute these removeClass calls in succession. There doesn't seem to be a call back function using removeClass so is there another way to emulate this?

  $("#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');

Upvotes: 9

Views: 13195

Answers (2)

mainline
mainline

Reputation: 61

Old Tread but Goolge know him ;-)

jQueries UI has a extend Function for 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 Doc: http://api.jqueryui.com/removeclass/

Upvotes: 3

Inferpse
Inferpse

Reputation: 4145

It seems that you're using CSS3 transition for doing this. The easiest way to do this is to set delay manually:

$("#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);

There's no built in jQuery method to check that css transition is complete.

Upvotes: 8

Related Questions