jQueryオブジェクトの fadeOut() メソッド

jQueryオブジェクトのfadeOut()メソッドを使うと、HTML文書の要素をアニメーションで徐々に消すことができます。具体的には、opacityを1から0へ徐々に変化させていき、最後にdisplayをnoneにします。

構文

fadeOutメソッドには、同じ名前で引数が異なるオーバーロード(多重定義)された複数のメソッドが存在する。

jQueryObject.fadeOut()
jQueryObject.fadeOut(duration)
jQueryObject.fadeOut(complete)
jQueryObject.fadeOut(duration, complete)
jQueryObject.fadeOut(options)

引数

以下に示す引数をjQueryオブジェクトのfadeOutメソッドに指定することができる。

duration
アニメーションの速度を時間(ミリ秒単位)、'slow' 又は 'fast' で指定する。
duration
消えるまでの時間
fast 200ミリ秒
デフォルト値 400ミリ秒
slow 600ミリ秒
数値 指定されたミリ秒

jQueryでフェードアウトさせる例を次に示す。

<button id="b1">fadeOut</button>
<button id="b2">show</button>
<img src="portrait.jpg" id="i1">
<img src="portrait.jpg" id="i2">
<script>
  $('#b1').click(function() {
    $('#i1').fadeOut('slow');
    $('#i2').fadeOut('fast');
  });
  $('#b2').click(function() {
    $('#i1').show();
    $('#i2').show();
  });
</script>

上記HTML及びJavaScriptの実行結果を次に示す。

portrait portrait

complete
フェードアウトが終わったら呼び出されるコールバック関数を指定する。

jQueryオブジェクトのfadeOutメソッドにコールバック関数を指定して、画像のフェードアウトが完了したらフェードインする例を以下に示す。

<img src="portrait.jpg" id="i3">
<script>
  const e = $('#i3')
  e.click(function() {
    e.fadeOut(function(){
      e.fadeIn()
    })
  })
</script>

portrait

options
フェードアウトのオプションをオブジェクトで指定する。
options
キー プロパティ
duration アニメーションの速度
easing アニメーションの進行速度
queue アニメーションをエフェクトキューに入れるかどうかを示すブール値
step 各アニメーション要素の各アニメーションプロパティに対して呼び出される関数
progress アニメーションの各ステップの後に呼び出される関数
complete フェードアウトが終わったら呼ばれる関数
start フェードアウトが始まるときに呼ばれる関数
done アニメーションが完了するときに呼ばれる関数
fail アニメーションが完了しなかったときに呼ばれる関数
always アニメーションが完了したとき、または完了せずに停止したときに呼ばれる関数

以下に示す順番でコールバック関数が呼び出される。

  1. start
  2. step
  3. progress
  4. done/fail/always
  5. complete

jQueryオブジェクトのfadeOutメソッドにオブジェクトを指定して、画像をゆっくりとフェードアウトさせ、フェードアウトが完了したらフェードインする例を以下に示す。

<img src="portrait.jpg" id="i4">
<script>
  const e = $('#i4')
  e.click(function() {
    e.fadeOut({
      duration: 'slow',
      complete: function(){
        e.fadeIn()
      }
    })
  })
</script>

portrait

参考文献

OpenJS Foundation (2022) .fadeOut() | jQuery API Documentation