2020.10.10

jQuery

jQueryで要素を表示・非表示(show・hide・toggle・fadeIn・fadeOut・fadeToggle・slideDown・slideUp・slideToggle)

デモページはこちら

jQueryで要素を表示・非表示にするメソッドのまとめです。対象要素を表示するshow、対象要素を非表示にするhide、対象要素の表示・非表示を切り替えるtoggle、対象要素をフェードインで表示するfadeIn、対象要素をフェードアウトで非表示にするfadeOut、対象要素をフェードイン・フェードアウトで表示・非表示を切り替えるfadeToggle、対象要素をスライドで表示するslideDown、対象要素をスライドで非表示にするslideUp、対象要素をスライドで表示・非表示を切り替えるslideToggleです。

以下のhtmlの構造でテストします。

<p class="title">show・hide・toggle・fadeIn・fadeOut・fadeToggle</p>
<div class="photo01"><img src="images/photo01.jpg" alt=""></div>
<input type="button" class="btn01" value="show">
<input type="button" class="btn02" value="hide">
<input type="button" class="btn03" value="toggle"><br><br>
<input type="button" class="btn04" value="fadeIn">
<input type="button" class="btn05" value="fadeOut">
<input type="button" class="btn06" value="fadeToggle"><br><br>
<input type="button" class="btn07" value="slideDown">
<input type="button" class="btn08" value="slideUp">
<input type="button" class="btn09" value="slideToggle">

ボタンクリック時に画像を表示・非表示します。非表示の動作は対象要素にdisplay: none;を適用するため表示領域がなくなります。表示の動作は対象要素に適用されたdisplay: none;を削除します。フェードアウトの動作は対象要素のopacityを操作しますが、最終的にはdisplay: none;を適用します。フェードインでは対象要素のdisplay: none;削除後、opacityを操作します。slideUpの動作は対象要素のheightを操作しますが、最終的にはdisplay: none;を適用します。slideDownでは対象要素のdisplay: none;削除後、heightを操作します。

$(function() {
	$('.btn01').on('click', function() {
		$('.photo01 img').show();
	});
	$('.btn02').on('click', function() {
		$('.photo01 img').hide();
	});
	$('.btn03').on('click', function() {
		$('.photo01 img').toggle();
	});
	$('.btn04').on('click', function() {
		$('.photo01 img').fadeIn();
	});
	$('.btn05').on('click', function() {
		$('.photo01 img').fadeOut();
	});
	$('.btn06').on('click', function() {
		$('.photo01 img').fadeToggle();
	});
	$('.btn07').on('click', function() {
		$('.photo01').slideDown();
	});
	$('.btn08').on('click', function() {
		$('.photo01').slideUp();
	});
	$('.btn09').on('click', function() {
		$('.photo01').slideToggle();
	});
});

次に以下のhtml構造で表示要素をフェードインします。

<p class="title">表示要素をfadeIn(第一引数で速度を指定)</p>
<div class="photo02"><img src="images/photo02.jpg" alt=""></div>
<input type="button" class="btn10" value="第1引数なし(400ミリ秒)">
<input type="button" class="btn11" value="第1引数:slow(600ミリ秒)">
<input type="button" class="btn12" value="第1引数:fast(200ミリ秒)"><br><br>
<p class="title">表示要素をfadeIn(第二引数で関数を指定)</p>
<div class="photo03"><img src="images/photo03.jpg" alt=""></div>
<input type="button" class="btn13" value="第1引数:3000ミリ秒">

fadeInはdisplay: none;の要素にしか適用できないためhideメソッドで非表示にしてからフェードインします。fadeInに引数を指定しない場合、第一引数はnormal(400ミリ秒)、第二引数はswingが適用されます。第一引数はslow、fastの他、ミリ秒を直接指定することができます。第二引数で関数を指定した場合、フェードインの動作完了後の実行になります。

$(function() {
	$('.btn10').on('click', function() {
		$('.photo02').hide().fadeIn();
	});
	$('.btn11').on('click', function() {
		$('.photo02').hide().fadeIn('slow');
	});
	$('.btn12').on('click', function() {
		$('.photo02').hide().fadeIn('fast');
	});
	$('.btn13').on('click', function() {
		$('.photo03').hide().fadeIn(3000, function() {
			console.log('フェードイン完了');
		});
	});
});

関連記事

2020.09.13

jQuery

jQueryのDeferredオブジェクトを利用した同期処理

デモページはこちら svgロードアニメーションをフェードアウトする処理を、jQueryのDeferredオブジェクトを利用して同期処理(非同期処理を待つ処理)で…

2020.09.23

jQuery

ページ最下部でトップへ戻るボタンを表示

デモページはこちら ユーザーがページ最下部までスクロールしたタイミングで、トップへ戻るボタンをフェードインで表示します。ボタンをクリックまたはページ最下部よりも…

2020.09.06

jQuery

jQueryで発生したエラーの対処法

コンソールでjQueryのエラーが発生した場合の対処法です。エラー発生の有無はjQueryのバージョンやfull版・slim版の違いによっても異なります。1系や…

2020.09.28

jQuery

jQuery Migrateの使い方

デモページはこちら jQueryはバージョン1.9と3.0で大幅な仕様変更があり、jQuery Migrateはその仕様変更を補助するためのパッチです。jQue…

2020.10.04

jQuery

jQueryのtextメソッド・htmlメソッドで要素を取得または変更

デモページはこちら jQueryのtextメソッドとhtmlメソッドで要素を取得または変更します。textメソッドとhtmlメソッドは機能が似ていますが細かい部…

上に戻る