user1クラスの要素をフェードアウトし、その後に何かする。
$( '.user1' ).fadeOut( 'fast' ).promise().done( function () {
// ここに全要素フェードアウト後の処理を
} );
/* おまけ: eachでも同じように記述できる */
$( '.user1' ).each( function () {
// ここに各要素に適用する処理を
} ).promise().done( function () {
// ここに全要素適用後の処理を
} );
fadeOutやfadeIn関数にはコールバック関数の指定があるが、それらは各要素の表示効果後に呼び出されるため、最後にまとめて1回処理するようなケースには向かない。そんなケースに向いているのが、promise関数と組み合わせたdone関数である。(jQuery 1.6以降)