from :: Asahikawa Hokkaido

passer-by198

primetime pencil

2012/06/11


Posted

「jQuery」と「jQuery UI」で HTML に彩りを添えよう…第4回「Tabs」コンテンツをクリックで水平に切り替え

概要

「Tabs」公式ページ
jQuery UI Documentation / API / 1.8 / Tabs  

「Tabs」についての「Demos & Documentation」
jQuery UI Demos & Documentation / Tabs  


第3回「Accordion」との違いを…

例えば…サイドバーに設置すると「仮定」して考えてみましょう…

「Accordion」も「Tabs」も省スペースになりますが…

「Accordion」はデフォルトのままでは…

最も長いコンテンツに合わせて領域が生成されますので…

高さを自動化しないと「間抜け」な感じになります…なので…

第3回では自動化の設定をしました…方や…

「Tabs」は…コンテンツに合わせて高さを自動化…がデフォルトです…

クリック時の挙動を見てみましょう…

「Accordion」では…コンテンツが垂直方向に展開されます…

つまり…スクロールが発生する訳ですね…方や…

「Tabs」では…イメージ的には…コンテンツが水平方向で切り替わります…

スクロールバーを見ながら操作すれば解りやすいですが…

スクロールは発生しませんので…

その場で…コンテンツを切り替えて見比べる事ができる訳ですね…

言い方を変えると…より純粋にナビゲーション寄り…って事です…

その辺りを勘案して…使い所を工夫してくださいな…




横並びのタブナビゲーションとして見ると…

私的に…違和感を感じたのは以下の点です…

皆さんも…上記リンクから…

公式のサンプルを弄ってみて下さい…
  1. 「id」でのマークアップでは同一ページに複数設置できない…
  2. タブ部分にヘッダー要素が割り当てられるので空きスペースが間抜け…
  3. タブ部分とパネル部分をラップするように枠線と背景が設定されている…
  4. 1番目のコンテンツがアクティブで読み込まれる…

①について


「class」でのマークアップのほうが…

使い勝手が良いので変えましょう(.tabs)…

②について


タブ部分には…「ui-widget-header」というクラス名が割り当てられています…

上でも書きましたが…

ヘッダーに置くタブナビゲーションとして意識しているのでしょうが…

ならば…第2回の「buttonset」を使えば良い話で…

何より…いわゆる「タブ」だと解りづらい…

なので…「ui-widget-header」を削除します…
(下記「Tabs のカスタムコード」の3行目が該当箇所です…)

③について


タブ部分の「ui-widget-header」を削除する関係で…

タブ部分の枠線と背景は消して…

コンテンツ部分の枠線と背景は残したい訳です…

しかしながら…デフォルトの背景を使うと…

例えば…「Tabs」の中に「Accordion」を配置する…などという…

設置シチュエーションによっては…

背景が被って邪魔臭い事にもなりますので…

色々と考えた結果…

一旦…枠線と背景を消して…
(下記「Tabs のカスタムコード」の2行目が該当箇所です…)

コンテンツ部分に…枠線と背景を再設定し…

角丸にするとコンテンツ部分の領域が少しだけ足りなくなるので…

左枠線に「5px」のネガティブマージンを使い…

デフォルトの下だけ角丸になるクラス名を削除して…

四隅が角丸になるクラス名を付与しています…
(下記「Tabs のカスタムコード」の4行目が該当箇所です…)

シームレスの背景画像は自作するか…

第1回を参照して…お好きなテーマをダウンロードすると…

ループ用の画像が同梱されていますので…

お好きな場所にホストして使って下さい…

 Blogger用の外部ファイル保存場所として「GitHub」の「GitHub Pages」を活用しよう

 Blogger用のファイル保存場所としてのクラウド型オンライン ストレージ「Google Drive」

 Blogger用のファイル保存場所としてのクラウド型オンライン ストレージ「Dropbox」

 Google Blogger用のファイル保存場所としてのGoogle sites/Picasa


タブ切り替え時…少々物足りないので…

エフェクトに…フェードアウト / フェードインを…

0.5 秒かけて実行するように指定…
(下記「Tabs のカスタムコード」の1行目が該当箇所です…)

④について


「Accordion」では…新たにクラス名を設定しましたが…

ここでは…デフォルトのクラス名で対応します…

「ui-tabs-selected」というクラス名を…

読み込み時にアクティブにしたい「li」要素に記述すれば OK です…

「jQuery UI 1.9」から仕様変更がありました


「jQuery UI 1.9」から読み込み時にアクティブにするクラス名は…
「ui-tabs-selected」から「ui-tabs-active」に仕様変更されました…
これに伴い…以下のカスタムコードとスタイルシートは…
「ui-tabs-selected」を「ui-tabs-active」に変更しました…
読み込むバージョンによって適宜変更して下さい…

「Tabs」のカスタムコード


では…カスタムコードです…

導入に際しては過去記事もお読み下さいな…

「Tabs」用カスタムコード


続いて…CSS です…ご自由に弄って下さい…

「Tabs」用 CSS


「Tabs」用カスタムコードと CSS を導入して…

公式サイトの…テーマ「dark-hive」のコードを表示させてみましょう…

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Phasellus mattis tincidunt nibh. Cras orci urna, blandit id, pretium vel, aliquet ornare, felis. Maecenas scelerisque sem non nisl. Fusce sed lorem in enim dictum bibendum.
Nam dui erat, auctor a, dignissim quis, sollicitudin eu, felis. Pellentesque nisi urna, interdum eget, sagittis et, consequat vestibulum, lacus. Mauris porttitor ullamcorper augue.

上記…公式タブのマークアップです…

上記公式タブのコード


公式サイトと比較してみて下さい…

jQuery UI テーマ「dark-hive」のページ  


リンクをボタン化した場合と…

タブの中にアコーディオンを入れ込んだ場合を加え…

3番目の説明用コンテンツをアクティブで表示するサンプルです…

第2回「Button」リンクとフォームをボタン化…で設定した…
クラス名「buttons」を「div」タグに指定していますので…
クラス名「buttons」のテキスト設定が反映されます…
リンクタグを記述するとボタン化されます…
「jQuery」と「jQuery UI」で HTML に彩りを添えよう…第1回「導入」
「jQuery」と「jQuery UI」で HTML に彩りを添えよう…第2回
「Button」リンクとフォームをボタン化

「jQuery」と「jQuery UI」で HTML に彩りを添えよう…第3回
「Accordion」コンテンツをクリックで垂直に開閉

「div」タグにクラス名「buttons」を指定
第2回「Button」リンクとフォームをボタン化…で設定した…
クラス名「buttons」を「div」タグに指定していますので…
クラス名「buttons」のテキスト設定が反映されます…
コンテンツ毎にスタイル属性を指定したい場合は…
「div」タグに「style="ここに CSS を記述"」ってな感じで記述して下さい…
リンクタグを記述するとボタン化されます…
jQuery
jQuery UI
「h6」にクラス名「current」を指定
クラス名「current」を「h6」に指定していますので…
読み込み時にこのコンテンツが開いた状態で表示されます…
開いた状態で表示 させたいコンテンツの「h6」に…
適宜クラス名「current」を指定して下さい…
どの「h6」にもクラス名「current」を指定しない場合は…
全てのコンテンツが閉じた状態で表示されます…
スタイル属性は指定していませんので…
「Accordion」のデフォルトのテキスト設定が反映されます…
「Enter」で改行して記述していますが…
ご自身のサイトの改行設定によって…
適宜…改行タグ「<br />」を使用して下さい…
クラス名「ui-tabs-active」を「li」に指定していますので…
読み込み時にこのコンテンツが開いた状態で表示されます…
開いた状態で表示 させたいコンテンツの「li」に…
適宜クラス名「ui-tabs-active」を指定して下さい…
どの「li」にもクラス名「ui-tabs-active」を指定しない場合は…
1番目のタブがアクティブで表示されます…
スタイル属性は指定していませんので…
上記「Tabs」用 CSS のテキスト設定が反映されます…
コンテンツ毎にスタイル属性を指定したい場合は…
「div」タグに「style="ここに CSS を記述"」ってな感じで記述して下さい…
「Enter」で改行して記述していますが…
ご自身のサイトの改行設定によって…
適宜…改行タグ「<br />」を使用して下さい…
フラグメント識別子「#...」でのリンクで…
コンテンツを切り替える仕様ですので…
同一ページ内では…全て固有の「id」で対応させる必要があります…
例えばこの記事内では…3箇所の「Tabs」で…
それぞれ3個のコンテンツを切り替えていますから…
「tabs-1」~(中略)~「tabs-9」と…
9個のフラグメント識別子を使用しています…

上記タブのマークアップです…

上記タブのコード


更には…これが本丸で…

この為にデフォルトの設定を改変してきた訳ですが…

CSS を追加すると…

タブ部分を自作画像でも表現できます…こんな感じ…

Content-1
Content-2
Content-3

画像は「CSS Sprites」で表示しています…

 Tonttu/テンプレート編集に必須な「CSS Sprites」作成ツールの使い方と「HTML」マークアップ

 Google Bloggerで絵文字を使うためのTips【CSS Sprites 編】


勿論「img」タグでも可能ですが…私的には非推奨ですので…解説は無しです…

上記…自作画像を使用したタブのマークアップです…

新たに「img」というクラス名を設定して…

CSS を対応させています…黄文字のクラス名は…

ご自身のサイト設定に変更して下さい…

自作画像を使用したタブのコード


続いて…CSS です…1行目と6行目は不要です…

黄文字のクラス名とポジションは…

ご自身のサイト設定に変更して下さい…

「タブ部分の設定をリセット」の部分は…

必ず…「jQuery UI」の CSS よりも後に読み込まれる場所に記述して下さい…

「Tabs」用 CSS


尚…コンテンツ部分を全て折りたたむ事もできますが…

私的には不要なので実装していませんので…

必要な方は…上記「Tabs のカスタムコード」の1行目に…

「collapsible:true」を追記して下さい…

以上です…お疲れ様でした…





0 Comments :

Post a Comment :: Click!!

コメントを投稿

韓国大統領 月山明博(李明博)の…天皇陛下への「不敬発言」
痛惜の念などという単語一つを言いに来るのなら、来る必要はない。
日王は韓国民に心から土下座したいのなら来い。
重罪人にするように手足を縛って頭を足で踏んで地面に擦り付けて謝らせてやる。
重罪人が土下座もしない、言葉で謝るだけならふざけた話だ。
そんな馬鹿な話は通用しない。
それなら入国は許さないぞ。
偽左翼マスメディアの情報操作手法
手法 用例 手法 用例 手法 用例 手法 用例
連想の創出 愛国者に対して「軍靴の音が聞こえそうだ」などと揶揄し否定的な印象を与える… コメント 人々を一定の方向に誘導するために「事実とは異なる解釈」をコメントさせたり「社説」にする… プレゼンス効果 現場からの中継や縮小ジオラマなどで「臨場感」を演出し「やらせ」も交えて信用されやすくする… 分類表 一部の「ネット右翼」が批判しています…のように決まった単語・フレーズで事象を分類して極小化・極大化する…
撹乱 「第三極も含めて政党が乱立して訳が分かりません…」などと連日「情報ノイズ」で溢れさせ興味自体を失わせる… 癒着提案 TBS「安倍官房長官印象操作映像事件」のように「個別の事実」を「継ぎ接ぎ」して「誤った印象」を植え付ける… 匿名の権威 「信頼すべき消息筋によれば…」のように情報元を明かす必要がない事を逆手に取り記事の内容に権威を与える… 日常会話 お隣の「韓国」では…のように本来否定的な要素「韓国」を日常会話のように繰り返し心理的習熟効果で反応を麻痺させる…
感情共鳴 コンサートで開催場所の地名を大声で繰り返し叫ぶ…などのように「デモ」「集会」などで群集を理性ではなく感情レベルで反応させる… 歴史の書き換え 民主党の「天皇制廃止」「戸籍法廃止」「夫婦別姓」などの愛国心を低下させるための国家・民族全体に対する長期的な情報操作… 感情整列 この時間にご覧になっている貴方だけに限定100セットだけ…などと「一定のシチュエーション」を用意して群集の感情を「均一化」させる… 一次効果 「朝日新聞の従軍慰安婦捏造問題」「iPS細胞での読売新聞大誤報」など「最初に発信された情報」は嘘でも捏造でも信用されやすいという原理…
ブーメラン 坂本龍一・山本太郎などの著名人を使い原発管制報道に対する「自由の闘士」を作り出し国力を削るために「愛国者」を装った抗議運動を展開する… 心理的ショック 日本は豊かなのだと錯覚させ更に絞り取るために「飢餓」を伝え…日本は悪い事をしたと日本人を自虐的に思い込ませるために繰り返し「戦争」を伝えます… 半真実 「マニュフェストが実現出来なかったのは自民党の負の遺産のせいで民主党がダメだった訳ではない…」のように嘘の中に一面的な真実を織り込み全体を真実に見せる… フィードバック 「支持政党無しの無党派層は過去最高」という結果を得るために世論調査の回答項目に「民主党もダメだけど自民党もダメ」という項目を設定し全体の意見に偽装する…
すり替え 「傷害」を「いじめ」「窃盗」を「万引き」「殺人事件」を「交通事故」「テロリスト」を「レジスタンス」「略奪事件」を「抗議デモ」など受け入れ易い言葉に置き換える婉曲手法… 脅威の創出 尖閣購入時に「中国の脅威」は民主党政権以降に尖鋭化していたにもかかわらず恰も「都知事発言以降に尖鋭化した」かの如く捏造し民主党には他に選択肢は無かったと責任転嫁… 社会的同意 首相の靖国参拝に「外国」から激しい反発が起こっている…などと…特定アジアだけの意見を恰も世界全体が同意していると錯覚させる…「人権擁護法案」「外国人参政権」などもこの手法… 側面迂回 民主党の原発事故対応では線量などの周辺情報は正確に報じられ枝野幸男の「直ちに健康に影響を及ぼすものではない…」の嘘の信憑性を高めメルトダウン・風向きなどの核心部分は隠蔽された…
虚偽類似 「視聴率低迷は若者のテレビ離れのせい…」「CDが売れないのは違法ダウンロードのせい…」「紅白歌合戦に韓流スターが出演できないのは日本の右傾化のせい…」など都合の良い「原因と結果の因果関係」を作り出す… 事実確認 原発安全神話を作り出したのも公共事業にジャブジャブ税金をつぎ込んだのも自民党です…など…「一面的な事実」を先に述べ「事実確認」させ…自民党政権に逆もどりして良いんですか?…と未来を誤認・錯覚させる… 毒入りサンドウィッチ 「白川総裁が自民党の経済政策を批判」「安倍総裁の経済政策発言を市場が好感し円安に振れ株価は年初来の高値」「一方でハイパーインフレを懸念する声も」…のように序文と結論の否定的報道で肯定的な報道を挟み肯定的な報道の意義を低下させる… 砂糖入りサンドウィッチ 毒入りサンドウィッチの逆の手法…
  偽左翼マスメディアの情報操作手法
「jQuery」と「jQuery UI」で HTML に彩りを添えよう…

「導入」「Button」「Accordion」「Tabs」「Effects/Slide」
「Progressbar」「Dialog」「Tooltip」「Menu」 「Extra」 / 公式「Widgets」以外の「jQuery UI」スクリプト
Blogger Template Customize Universal / INDEX
Blogger テンプレート・カスタマイズ / 全般を解説
高速化・最適化対策の結果と備忘録
Scroll Top