本日は「2.左上からの要素の相対位置を設定する」を学びます。
2.左上からの要素の相対位置を設定する
2-1.offsetメソッド【返却値(jQueryオブジェクト) = 要素.offset(object)】で要素の左上からの相対位置を設定する
次に要素の左上からの相対位置を変更します。「テストエリア」の位置を変えてみます。
値はobjectオブジェクトに格納する必要があります。
なお、「50」と数値型で指定することができ、
さらに算術複合代入子(+=、-=)を使用した相対的な指定も可能。
サンプルソース
// HTML <input type="button" value="指定したテストエリアを右へ50px移動する"><br> <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(){ // 【構文】返却値(jQueryオブジェクト) = 要素.offset(object) // サンプル:「テストエリア1」の左からの相対位置を設定する var offsetObj = {}; // objectオブジェクト宣言 offsetObj.left = $(".box-css-test-area-1").offset().left; // 変更前の位置をobjectに設定 offsetObj.left = 50; // ←絶対値指定・・・右から50pxの位置にする offsetObj.left += 50; // ←相対値指定・・・右へ50px移動する $(".box-css-test-area-1").offset(offsetObj); }); });
実装例
指定した要素を移動します。
要素:
要素:
テストエリア1
border:5px; padding:10px; margin:20px; height:40px; width:460px;
(境界線:5px、枠内余白:10px、枠外余白:20px、高さ:40px、幅:460px)
(境界線:5px、枠内余白:10px、枠外余白:20px、高さ:40px、幅:460px)
テストエリア2
border:5px; padding:20px; margin:10px; height:30px; width:450px;
(境界線:5px、枠内余白:20px、枠外余白:10px、高さ:30px、幅:450px)
(境界線:5px、枠内余白:20px、枠外余白:10px、高さ:30px、幅:450px)
次回は「複数要素」に対する左上からの相対位置を設定する方法を学びます。
それでは、また。