要素をフェードアウトした後に削除しようと、
$(this).fadeOut('fast').remove();
としてみたところ、フェードアウトせずにそのまま消えてしまった。
ちょっと調べてみると、処理を待つキューに入る処理と入らない処理があるとのこと。
エフェクト系は概ね入るようだけど、remove()
はキューに入らないらしい。
キューに入れるには.queue()
を使う。
$(this).fadeOut('fast').queue(function() {
this.remove();
});
これでフェードアウトを待って削除できる。
Qiitaに投稿した記事です。