menu
menu

キーワード検索

 

前月(8月)の人気記事トップ10

  1. ( 1-) 【CSS Tips】CSSだけでドロップダウンメニュー
  2. ( 2-) 【CSS Tips】CSSだけでサイズ可変・スマホ対応のアコーディオン
  3. ( 3-) 【HTML5 Tips】スマホサイトの作成・基本編
  4. ( 4-) 【CSS Tips】CSSだけでブロック要素の表示非表示(トグルボタン)
  5. ( 5-) 【実践でjQuery入門】jQueryで日時を表示
  6. ( 7↑) 【制作Tips】スマホサイト向け横にスクロールするナビゲーション
  7. ( 6↓) 【JavaScript Tips】表示しているブラウザの高さを取得してCSSのheightに指定
  8. ( -↑) 【Mac Tips】MacにInkscapeをインストール
  9. ( 9-) 【MySQL】Windows 10にMySQLをインストール
  10. ( 8↓) 【HTML5】HTML5・ページ作成の基本

【タブレイアウト】サイズ可変・スマホ対応のタブレイアウト

  • Labs

jQuery

こんにちは(・∀・)

今日はサイズが可変してスマホにも対応したjQueryタブレイアウトのご紹介です。

サンプル

サンプルは横幅100%で可変になっています。min-widthを400pxに設定してありますので(タブグループのMax横幅)、そのサイズまでブラウザ幅を縮めると横スクロールバーが出ます。

アニメーションで動くタイプと普通にCSSで制御する2タイプです。サンプルはアニメーションの設定になっています。CSSの制御に変える場合はJSを書き換えてご利用ください。

HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<div id="tab">
<ul id="tab-head">
<li id="tab-h1"><a href="#tab-b1">メニュー1</a></li>
<li id="tab-h2"><a href="#tab-b2">メニュー2</a></li>
<li id="tab-h3"><a href="#tab-b3">メニュー3</a></li>
<li id="tab-h4"><a href="#tab-b4">メニュー4</a></li>
<!--tab-head--></ul>
<div id="tab-body">
<div id="tab-b1">コンテント1</div>
<div id="tab-b2">コンテント2</div>
<div id="tab-b3">コンテント3</div>
<div id="tab-b4">コンテント4</div>
<!--tab-body--></div>
<!--tab--></div>
CSS

#tab {
  margin: 0 10px;
}
#tab-head {
  min-width: 320px;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
#tab-head li {
  float: left;
}
#tab-head li a {
  display: block;
  width: 78px;
  height: 30px;
  text-align: center;
}
#tab-body {
  width: 100%;/*横幅はここで設定します。100%にすれば可変になります。*/
  min-width: 320px;
  position: relative;
  top: -1px;
  z-index: -1;
}
#tab-b1,#tab-b2,#tab-b3,#tab-b4 {
  height: 300px;
  padding: 10px;
  background: #fff;
  border: 1px solid #ccc;
}
#tab-b2,
#tab-b3,
#tab-b4 {
  display: none;
}
.tab1 {
  background: #eee;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
.tab2 {
  background: #fff;
  border-bottom: 1px solid #fff;
}
JavaScript

$(function(){
$("#tab-head li").addClass("tab1");
$("#tab-head li a").eq(0).addClass("tab2");
$("#tab-head li a").click(function() {
$("#tab-body div").hide();
$($(this).attr("href")).fadeIn();/*アニメーションを使用する場合*/
//$($(this).attr("href")).css('display','block');/*アニメーションを使用しない場合*/
$("#tab-head li a").removeClass("tab2");
$(this).addClass("tab2");
return false;
});
});
Result

サンプルデモはこちら


関連リンク

CSSだけでサイズ可変・スマホ対応のタブレイアウト
jquery.cookie.jsでサイズ可変・スマホ対応のタブレイアウト
クッキーを使ったタブレイアウト
JavaScriptでタブレイアウト

  • カテゴリー:Labs