jQueryでfadeOutの後にremove

要素をフェードアウトした後に削除しようと、

$(this).fadeOut('fast').remove();

としてみたところ、フェードアウトせずにそのまま消えてしまった。
ちょっと調べてみると、処理を待つキューに入る処理と入らない処理があるとのこと。
エフェクト系は概ね入るようだけど、remove()はキューに入らないらしい。

キューに入れるには.queue()を使う。

$(this).fadeOut('fast').queue(function() {
  this.remove();
});

これでフェードアウトを待って削除できる。


Qiitaに投稿した記事です。