jQueryで要素の高さを取得し、body要素に記述している背景画像(パターン)のポジション(高さ)を変更する
August 28, 2014
現在開発中のMT用テーマで、ヘッダーにフリーエリアを設けているオプションがあるのですが、そのフリーエリアに表示されるのは、MTのウェブページ機能で作成されたコンテンツで、なので、ユーザ様の利用方法によっては、コンテンツが長くなる場合もあります。しかし、デザインとして、ヘッダーには背景画像がcssで指定されており、コンテンツが長くなると、その背景画像の位置も下にずらす必要があります。これをjQueryで実現したいと。。
以下のコードは、MTテンプレート内の関連箇所のすぐ下に直接記述しているjQueryなので、ページのDOMの読み込みが終わってから処理されるようにするreadyイベントの書き方$(function () {~~~});はしていません。(コード中の<>は、全角で記述しています。)
<script type="text/javascript">
var header_height = $('#header .text-info').height();
$('#header').height(header_height);
var position_value = "left " + header_height + "px";
$('body').css('background-position', position_value);
</script>
上記のコードで無事に「#header」内の「.text-info」内にあるコンテンツの高さを取得し、それを「#header」の高さとし、また、その高さを使って、「body」のcssに指定している背景画像のポジションを変更することが出来ました!嬉
これまでjQueryは難しいものとばかり思っていましたが、違っていたようです。。元々javaScriptが苦手な私は、jQueryにも自然と苦手意識を持っていました。ですが、今回サイトのレイアウトデザイン上、jQueryを使ってみて・・、いとも簡単に出来てしまいました!jQueryって凄いんですね。
それからと言うもの、jQueryについて初心者用の勉強を少し始めてみました。過去にjavaScriptをかじった経験があるものの・・、関数とか数式が良く分からなかったのですが、以下のサイト様を読んで勉強させていただいています。あまり使用頻度は多くないと思うのですが、デザイン上必要ならば、jQueryでDOMをうまく扱えるようになりたいです。
■参考サイト
・jQuery入門講座
・JavaScript・jQueryの関数について
・7つのサンプルでjQueryを学ぼう!「jQueryが全く分からない人のため」の超初級者向け入門講座
・jQuery 開発者向けメモ - 基本・サンプル
・jQuery 日本語リファレンス
最新記事
- MTで検索タイムアウトが発生した場合
- MT7で新しいサイトを作るとき (自分用覚書)
- MT テーマのエクスポート時にファイルも選択する際、ファイル内に文字化けファイルがあるとエラー(自分用覚書)
- もしかして半身浴のお陰?花粉症の症状が出ません
- Hiromi: The Trio Project featuring Anthony Jackson
- Juneuary Weather 一気に寒く
- ローズガーデン at Burnaby Mountan
- やっとPRカード申請書を郵送
- きんぴらいなり寿司
- PRカードの更新・・!
- 今日の風景
- 5年前のちょうどこの時間帯に
- もうすぐ新年!
- ビクトリア北でM4.8の地震
- 中抜き化が進みつつある