2016年1月18日月曜日

(jQueryの学習)CSS:高さを操作する/heightメソッド/要素の高さを取得する(その1)

今回からはCSSの高さを操作する方法を学びます。
以下、3つのカテゴリに分けて見ていきます。

  1. 1.要素の高さを取得/設定する
  2. 2.borderの内側の高さ(borderは除き、paddingは含む)を取得する
  3. 3.borderの外側の高さ(border、paddingを含む)を取得する

ここではjQueryにてCSSで定義された要素の高さの操作方法を整理します。

要素の高さを操作するには、
用途に応じて「heightメソッド」、「innerHeightメソッド」、「outerHeightメソッド」を利用する必要があります。
メソッドの種類は以下の通り。

■要素の高さを取得する
 ・返却値(数値)=要素.height(プロパティ名) ※ver1.0~
■要素の高さを設定する
 ・返却値(jQueryオブジェクト)=要素.height(値) ※ver1.0~
 ・返却値(jQueryオブジェクト)=要素.height(function) ※ver1.4.1~
■borderの内側の高さを取得する
 ・返却値(数値)=要素.innerHeight() ※ver1.2.6~
■borderの外側の高さを取得する
 ・返却値(数値)=要素.outerHeight() ※ver1.2.6~

これらのメソッドを使うことで、要素のいろいろな高さが取得ができるようになります。


それでは本日は「1.要素の高さを取得/設定する」を学びます。

まずは「単一要素」の高さを取得します。

1.要素の高さを取得/設定する

1-1.heightメソッド【返却値(数値) = 要素.height( )】で1つの要素の高さを取得する
要素の高さを取得するためにはheightメソッドを利用します。
返却値は「数値」のため、計算等の二次利用をするにはちょうど良いです。

以下のサンプルを動かしてみると、
CSSで定義した通りの値(例:テストエリア1なら「40」)が返却されることがわかります。

ちなみに「高さ(height)」とは、
枠外余白(margin)、境界線(border)、枠内余白(padding)のさらに内側の領域の高さを表します。
サンプルソース
// HTML
<div class="box">
  <div class="box"><b>テストエリア1</b><div class="box-css-test-area-1">・・・略・・・</div></div>
</div>

// CSS
/* テストエリア1 */
.box-css-test-area-1 {background:#F5EEFF; border:5px solid #88f; padding:10px; margin:20px; height:40px; width:460px;}

// jQuery
$(function() {
  $("input[type=button]").click(function(){
    // 【構文】返却値(数値) = 要素.height()
    //   サンプル:「テストエリア1」の高さを取得する
    alert("[" + $(".box-css-test-area-1").height() + "]");
  });
});
実装例
指定した要素に設定されている高さを取得します。

要素:

テストエリア1
border:5px; padding:10px; margin:20px; height:40px; width:460px;
(境界線:5px、枠内余白:10px、枠外余白:20px、高さ:40px、幅:460px)
テストエリア2
border:5px; padding:20px; margin:10px; height:30px; width:450px;
(境界線:5px、枠内余白:20px、枠外余白:10px、高さ:30px、幅:450px)

次回は複数の要素の高さを取得する方法を学びます。

それでは、また。

Previous Post
Next Post

post written by: