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メソッドに指定することができる。
'slow'
又は 'fast'
で指定する。
値 | 消えるまでの時間 |
---|---|
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の実行結果を次に示す。
jQueryオブジェクトのfadeOutメソッドにコールバック関数を指定して、画像のフェードアウトが完了したらフェードインする例を以下に示す。
<img src="portrait.jpg" id="i3">
<script>
const e = $('#i3')
e.click(function() {
e.fadeOut(function(){
e.fadeIn()
})
})
</script>
キー | プロパティ |
---|---|
duration | アニメーションの速度 |
easing | アニメーションの進行速度 |
queue | アニメーションをエフェクトキューに入れるかどうかを示すブール値 |
step | 各アニメーション要素の各アニメーションプロパティに対して呼び出される関数 |
progress | アニメーションの各ステップの後に呼び出される関数 |
complete | フェードアウトが終わったら呼ばれる関数 |
start | フェードアウトが始まるときに呼ばれる関数 |
done | アニメーションが完了するときに呼ばれる関数 |
fail | アニメーションが完了しなかったときに呼ばれる関数 |
always | アニメーションが完了したとき、または完了せずに停止したときに呼ばれる関数 |
以下に示す順番でコールバック関数が呼び出される。
jQueryオブジェクトのfadeOutメソッドにオブジェクトを指定して、画像をゆっくりとフェードアウトさせ、フェードアウトが完了したらフェードインする例を以下に示す。
<img src="portrait.jpg" id="i4">
<script>
const e = $('#i4')
e.click(function() {
e.fadeOut({
duration: 'slow',
complete: function(){
e.fadeIn()
}
})
})
</script>
OpenJS Foundation (2022) .fadeOut() | jQuery API Documentation