【JavaScript】「element.offsetHeight」の使い方!【分かりやすい】

※この記事にはプロモーションが含まれています。
しゅーた(@chibasyuta)です!
ウェブ開発の中では、要素の高さを取得したい場面が多々あります。
この時に「element.offsetHeight」を使えば、簡単に要素の高さを取得できます。
この記事では「element.offsetHeight」の基本的な使い方やコード例を分かりやすく解説します!
この記事の内容!
- 「element.offsetHeight」を使うと何ができるのか?
- 「element.offsetHeight」の使い方!
それでは内容へ入ります!
「element.offsetHeight」を使うと何ができるのか?
「element.offsetHeight」を使うとHTML要素の高さを取得することができます。
取得できる値は、pxで表したときの整数値です。例えば要素の高さが300pxなら「300」が取得できます。
また、「padding」や「border」も含めた高さになります。
例えば、CSSで下記のように要素を定義した場合
例えば、CSSで下記のように要素を定義した場合
.example {
height: 200px;
padding: 10px;
border: 5px solid black;
}
この要素の「offsetHeight」は「200 + 10 + 10 (上下の padding) + 5 + 5 (上下の border) = 230px」となります。
「element.offsetHeight」は実際に見えてる高さが取得できる。
「element.offsetHeight」を使うと、実際に見えてる高さが取得できます。
そこが、「element.scrollHeight」との違いになります。
改訂3版JavaScript本格入門
JavaScriptの文法から現場での書き方まで、1冊でしっかり押さえたい方向けの定番書です。
Amazonのアソシエイトとして、当ブログは適格販売により収入を得ています。
「element.offsetHeight」の使い方!
// HTML要素を取得
const element = document.querySelector('.example');
// offsetHeightを表示
console.log(`要素の高さは: ${element.offsetHeight}px です。`);
このコードは、「class=”example”」の要素の高さをコンソールに表示します。
具体的な使用例!アコーディオンメニューなどで使う
<div class="container">
<dl>
<div class="box">
<dt>項目</dt>
<dd>内容です。内容です。内容です。内容です。内容です。内容です。内容です。</dd>
</div>
<div class="box">
<dt>項目</dt>
<dd>内容です。内容です。内容です。内容です。内容です。内容です。内容です。</dd>
</div>
<div class="box">
<dt>項目</dt>
<dd>内容です。内容です。内容です。内容です。内容です。内容です。内容です。</dd>
</div>
<div class="box">
<dt>項目</dt>
<dd>内容です。内容です。内容です。内容です。内容です。内容です。内容です。</dd>
</div>
<div class="box">
<dt>項目</dt>
<dd>内容です。内容です。内容です。内容です。内容です。内容です。内容です。</dd>
</div>
<div class="box">
<dt>項目</dt>
<dd>内容です。内容です。内容です。内容です。内容です。内容です。内容です。</dd>
</div>
</dl>
</div>
let dts = document.querySelectorAll('dt');
dts.forEach( (dt) => {
dt.addEventListener('click', () => {
dt.parentElement.classList.toggle('show');
const content = dt.nextElementSibling;
const isOpen = content.offsetHeight > 0;
if ( isOpen ) {
content.style.height = '0px';
} else {
content.style.height = `${content.scrollHeight}px`;
}
});
} );
読みと専用
content.style.height = `${content.scrollHeight}px`;
「element.offsetHeight」は読み取り専用なので、取得した値を使って、高さの指定をする際は、上記のように使います。
参考リンク!
仕様書。
https://drafts.csswg.org/cssom-view/#dom-htmlelement-offsetheight
MDN。
https://developer.mozilla.org/ja/docs/Web/API/HTMLElement/offsetHeight
おすすめの再生リスト!
こちらは僕が制作したYouTubeの再生リスト「JavaScriptの入門編」です。
「JavaScriptの入門編」はWeb制作を勉強している方がJavaScriptに入門する際に知っておきたい情報をまとめたコンテンツとなります。
こちらの再生リストで「JavaScript」について「丁寧」に解説しているので、もし気になる方はチェックしてみてください!一緒に楽しく学習しましょう!!
まとめ!
「element.offsetHeight」は、要素の高さを知るための基本的なプロパティです。
正しく理解し、プロジェクトで最大限に活用しましょう!
この情報が役に立てば幸いです。試してみてください!
それではこんな感じでこの記事を終わります!
ではまたっ!
1冊ですべて身につくJavaScript入門講座
JavaScriptを、動くものを作りながら基礎から通して学びたい方向けの入門書です。
Amazonのアソシエイトとして、当ブログは適格販売により収入を得ています。
\ めちゃくちゃ便利です /
毎日の新着を、通知で受け取る
最新の技術の動きを1分で読める記事にして、毎日お届けします。登録は無料で、いつでもやめられます。
iPhone は「ホーム画面に追加」すると通知を受け取れます
iPhone では、Safari で開いたままだと通知を出せない決まりになっています。このブログをホーム画面に置くと、アプリのように通知が届くようになります。下の5つを順番に行ってください。1分ほどで終わり、料金はかかりません。
-
共有ボタンを押す
いま見ているこのページのまま、画面のいちばん下を見てください。真ん中にある四角から上向きの矢印が出ているマークが共有ボタンです。これを1回タップします。
下のバーが見えないときは、画面を指で少し下に動かすと出てきます。
-
「ホーム画面に追加」を選ぶ
画面の下からメニューが出てきます。メニューを指で上に動かして下のほうを表示し、「ホーム画面に追加」(+のマーク)を探してタップします。
見当たらないときは、メニューの中の「その他」や「…」を押すと出てきます。
-
右上の「追加」を押す
「ホーム画面に追加」という画面に変わります。名前は「皇帝ペンギン」のままで大丈夫です。右上の「追加」をタップします。
-
ホーム画面のアイコンから開く
Safari を閉じてホーム画面に戻ると、ペンギンの絵の「皇帝ペンギン」というアイコンが増えています。これをタップして開きます。
ここが大事です。Safari からではなく、必ずこのアイコンから開いてください。
-
「通知をオンにする」→「許可」
開くと、画面の下に「通知をオンにする」という黄色いボタンが出ます。タップすると確認が出るので、「許可」を選びます。「通知をオンにしました」と出たら完了です。
次の日から、新しい記事が出るたびに通知が届きます。やめたいときは、記事の下の「この端末の通知をやめる」を押すか、アイコンを削除してください。
LINE や X のアプリ内で開いている場合は、先に右下や右上のメニューから「Safari で開く」を選んでください。
動画でじっくり学びたい方は YouTube メンバーシップ へ。