How can I do a function once a toggleClass has completed? I've tried the following but with no luck:
$("#loader").toggleClass('fadeOut', function () {
alert('a');
});
To replace a class with another class, you can remove the old class using jQuery's . removeClass() method and then add the new class using jQuery's . addClass() method.
Answer. Yes, you can toggle multiple classes using a single . toggleClass() call. To do so, you can separate the class names with spaces.
The toggle() method toggles between hide() and show() for the selected elements. This method checks the selected elements for visibility. show() is run if an element is hidden. hide() is run if an element is visible - This creates a toggle effect.
click(function(){ $('#display_advance'). toggle('1000'); $(this).
jQuery has a promise method that returns a promise that resolves after all running animations on selected elements are complete. At that point, you can bind to it's done method.
$("#loader").toggleClass('fadeOut',600).promise().done(function(){ console.log('a'); });
http://jsfiddle.net/skram/4x76J/
Note: Animations using toggleClass
require jQuery UI.
toggleClass
is executed immediately and so you don't need a callback for toggleClass
, just place the alert('a')
in the next line which will alert after toggleClass
is executed.
Edit: Looks like you want jQuery UI Effects - toggleClass
which unfortunately doesn't have a callback function.
Probably you should write your own toggle function. See below for fadeIn/fadeOut toggle,
var $loader = $("#loader");
if ($loader.is(':visible')) {
$loader.fadeOut(100, function () {
alert('fade out complete');
});
} else {
$loader.fadeIn(100, function () {
alert('fadeIn complete');
});
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With