toggleClass が完了したら関数を実行するにはどうすればよいですか? 私は次のことを試しましたが、運がありません:
$("#loader").toggleClass('fadeOut', function () {
alert('a');
});
toggleClass が完了したら関数を実行するにはどうすればよいですか? 私は次のことを試しましたが、運がありません:
$("#loader").toggleClass('fadeOut', function () {
alert('a');
});
jQuery には、選択した要素で実行中のすべてのアニメーションが完了した後に解決される promise を返す promise メソッドがあります。その時点で、done メソッドにバインドできます。
$("#loader").toggleClass('fadeOut',600).promise().done(function(){
console.log('a');
});
http://jsfiddle.net/skram/4x76J/
注:アニメーションtoggleClass
には jQuery UI が必要です。
toggleClass
はすぐに実行されるため、のコールバックは必要ありません。次の行にをtoggleClass
配置するだけで、実行alert('a')
後にアラートが表示toggleClass
されます。
編集: jQueryUIエフェクトが必要なようです-toggleClass
残念ながらコールバック関数はありません。
おそらく、独自のトグル関数を作成する必要があります。フェードイン/フェードアウトの切り替えについては、以下を参照してください。
var $loader = $("#loader");
if ($loader.is(':visible')) {
$loader.fadeOut(100, function () {
alert('fade out complete');
});
} else {
$loader.fadeIn(100, function () {
alert('fadeIn complete');
});
}