MTタグとjQueryを使って、特定の時だけ背景画像をnoneにする。
October 10, 2014
例えば、枠線の付いているボックス内に、タイトルと概要があり、そのタイトルには、h2などのヘッディングタグが使用され、また、タイトルの前にはアイコンがcssで背景画像として指定されており、そのタイトルの下には下線がcssで画像として指定されてあり(概要部分のboxに対しての上部位置への指定)、その下に概要が表示される、というようなコンテンツがあるとします。そして、そのタイトルは、自分のデザインの仕方により、表示したり、しなかったりを、MTのプライベートタグを利用してコントロールしたり、はたまた、タイトルに何も入力しないことにより表示しない、という事をMTタグとjQueryで実現します。ポイントは、タイトルが消えると、概要部分のbox上部に指定している画像の線も一緒に消す、というところです。つまり、タイトルの下線も一緒に消す、ということです。
以前の記事、「jQueryで要素の高さを取得し、body要素に記述している背景画像(パターン)のポジション(高さ)を変更する」の応用版になったので覚書として記載してみます。コードとしては、以下となります。(<>は全角にしています。)
<MTSetVar name="page_title_exist" value="0">
<MTSetVar name="no_title_tagged" value="0">
<MTIfNonEmpty tag="MTPageTitle">
<MTSetVar name="page_title_exist" value="1">
</MTIfNonEmpty>
<MTPageIfTagged tag="@no_title" include_private="1">
<MTSetVar name="no_title_tagged" value="1">
</MTPageIfTagged>
<MTIf name="page_title_exist">
<MTUnless name="no_title_tagged">
<h3 class="title"><MTIfNonEmpty tag="MTCFPageTitleLinkUrl"><a href="<$MTCFPageTitleLinkUrl remove_html="1" trim="1"$>" title="<$MTPageTitle remove_html="1" decode_html="1" encode_html="1" trim="1"$>"></MTIfNonEmpty><$MTPageTitle remove_html="1" decode_html="1" encode_html="1" trim="1"$><MTIfNonEmpty tag="MTCFPageTitleLinkUrl"></a></MTIfNonEmpty></h3>
</MTUnless>
</MTIf>
<div class="body pkg">
<$MTPageBody$>
</div>
<MTIf name="page_title_exist">
<MTIf name="no_title_tagged">
<script type="text/javascript">
$('#content .intro-box .row ul li.col .body').css('background', 'none');
</script>
</MTIf>
<MTElse>
<script type="text/javascript">
$('#content .intro-box .row ul li.col .body').css('background', 'none');
</script>
</MTIf>
当初、タイトルを記述している判別のところに一緒にjQueryも記載していたのですが(コードを一石二鳥にしようとして・・)、全然反応がなく(概要上部に背景画像として指定している線が一緒に消えない・・)、おかしいな~と思って何度も確認して分かったのは、そのタイトルの下に概要の来るboxがあることでした・・。jQueryでもhtmlでもコードが上から読み込まれて行くので、消したいbox上部の背景画像のコードの前にjQueryのコードを持ってきても意味が無い、という初心者エラーでした。。
- ブログトップページへ
- 次の記事: 「Movable Type(MT)アイテム画像の「高さ」を抽出する方法」
- 前の記事: 「Movable Type(MT)の「本文」エリアにTinyMCEでテーブル(表)を挿入」
- 過去記事一覧アーカイブへ
最新記事
- MTで検索タイムアウトが発生した場合
- MT7で新しいサイトを作るとき (自分用覚書)
- MT テーマのエクスポート時にファイルも選択する際、ファイル内に文字化けファイルがあるとエラー(自分用覚書)
- もしかして半身浴のお陰?花粉症の症状が出ません
- Hiromi: The Trio Project featuring Anthony Jackson
- Juneuary Weather 一気に寒く
- ローズガーデン at Burnaby Mountan
- やっとPRカード申請書を郵送
- きんぴらいなり寿司
- PRカードの更新・・!
- 今日の風景
- 5年前のちょうどこの時間帯に
- もうすぐ新年!
- ビクトリア北でM4.8の地震
- 中抜き化が進みつつある