2020.11.08

jQuery

プラグインを利用せずにjQueryで実装する高さ揃え

デモページはこちら

jquery.matchHeight.jsのようなプラグインを利用せず、jQueryのみでhtml要素の高さ揃えを実装します。プラグイン利用時と違い、画面リサイズ時に高さが可変の場合は対応できない制約があります。以下のhtml構造の、高さの異なるh3タグでテストします。

<div class="container">
    <div class="box">
        <img src="images/photo01.jpg" alt="">
        <h3>タイトル01</h3>
        <p>ダミーテキストダミーテキストダミーテキスト</p>
    </div>
    <div class="box">
        <img src="images/photo02.jpg" alt="">
        <h3>タイトル02<br>タイトル02</h3>
        <p>ダミーテキストダミーテキストダミーテキスト</p>
    </div>
    <div class="box">
        <img src="images/photo03.jpg" alt="">
        <h3>タイトル03<br>タイトル03<br>タイトル03</h3>
        <p>ダミーテキスト</p>
    </div>
    <div class="box">
        <img src="images/photo04.jpg" alt="">
        <h3>タイトル04</h3>
        <p>ダミーテキスト</p>
    </div>
</div>

JavaScriptのwindow.matchMediaメソッドを利用してPCとスマホで処理を分けます。スマホでは画面リサイズ時にh3タグの高さが変わるため、heightをautoに指定します。PCでは画面リサイズ時にh3タグの高さが変わらないため、高さの一番大きいh3タグのheightを全てのh3タグに指定します。

function matchFunc(){
	if(window.matchMedia("(max-width:768px)").matches){
		$('h3').height('auto');
	}
	if(window.matchMedia("(min-width:769px)").matches){
		var maxHeight = 0;
		$('h3').each(function() {
			if ($(this).height() > maxHeight) maxHeight = $(this).height();
		});
		$('h3').height(maxHeight);
	}
}
//読み込み時
document.addEventListener("DOMContentLoaded", matchFunc);
//リサイズ時
window.matchMedia("(max-width:768px)").addListener(matchFunc);

関連記事

2020.10.19

jQuery

jQueryのイベントオブジェクトのメソッド(preventDefault・stopPropagation)

デモページはこちら jQueryのイベントオブジェクトのメソッドであるpreventDefaultとstopPropagationの動作をテストします。また、処…

2020.09.23

jQuery

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

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

2020.09.29

jQuery

PC表示でページの途中からスクロールに追従するナビゲーション

デモページはこちら PC表示の場合、ページの途中に配置したナビゲーションが画面の一番上に来たタイミングで固定され、スクロールに追従する動作を実装します。 ナビゲ…

2020.09.21

jQuery

jQueryで兄弟要素を取得(next・nextAll・prev・prevAll・siblings)

デモページはこちら jQueryで兄弟要素(同階層の要素)を取得するメソッドのまとめです。対象要素の直後の要素を取得するnext、対象要素の直後以降の要素を全て…

2020.09.22

jQuery

jQueryで子孫要素を取得(children・find)

デモページはこちら jQueryで子孫要素(子要素と子要素の子要素である孫要素)を取得するメソッドのまとめです。対象要素の子要素を全て取得するchildren、…

上に戻る