ロボット研究開発、ソフトウェア開発、コンテンツ制作配信

タブパネルをつくってみた

10568092076_c7b898ef1c_z
jQueryを使って、タブパネルを作ってみました。
備忘録として残しておきます。

スポンサーリンク

タブパネルとは?

タブパネルは、タブ(見出し)をクリックすると、パネル(タブの内容が書かれた部分)が切り替わるUIです。アコーディオンパネルと同じく、情報量に対して表示スペースが少ない場合に使われます。Yahoo!やlivedoorなどの大手ポータルサイトがトップページで採用していることもあり、現在では、多くのユーザーが迷わず操作できるUIとして定着しています。

今回は、以下のようなタブパネルを作成しました。
タブをクリックするとパネルの表示が切り替わります。

  • tab1 タブパネル テスト1です。
  • tab2 タブパネル テスト2です。
  • tab3 タブパネル テスト3です。

タブパネルを実装する

早速、実装方法をご紹介します。
まずは、タブパネルの下地を作ります。
以下のように、タブ(見出し)とパネル(表示する中身)をそれぞれ別々のul/li要素で記述します。

<ul class="tab">
<li><a href="#tab1" class="selected">タブ1</a></li>
<li><a href="#tab2">タブ2</a></li>
<li><a href="#tab3">タブ3</a></li>
</ul>
<ul class="panel">
<li id="tab1">
tab1 タブパネル テスト1です。
</li>
<li id="tab2">
tab2 タブパネル テスト2です。
</li>
<li id="tab3">
tab3 タブパネル テスト3です。
</li>
</ul>

CSSは、以下のように記述します。
タブ部分(ul.tab li)はfloatを利用して横一列に並べます。
(注:レイアウトの指定は、それぞれのサイトで調整が必要です)

/* タブパネル */
ul.tab{
  padding: 0;
}

ul.tab li{
  list-style-type: none;
  width: 214.6px;
  height: 40px;
  border: 1px solid #9fB7D4;
  float: left;
}

ul.tab li a{
  outline: none;
  background-color: #f0f8ff;
  display: block;
  color: blue;
  line-height: 40px;
  text-align: center;
}

ul.tab li a.selected {
  background-color: #e6e6fa;
  text-decoration: none;
  color: #333;
  cursor: default;
}

ul.panel{
  clear: both;
  border: 1px solid #9fB7D4;
  padding: 0;
}

ul.panel li{
  list-style-type: none;
  padding: 10px;
  color: #333;
}

jQueryでのスクリプトは以下のように記述します。

jQuery(function(){

  /* タブパネル */
  jQuery("ul.panel li:not("+jQuery("ul.tab li a.selected").attr("href")+")").hide();

  jQuery("ul.tab li a").click(function(){
    jQuery("ul.tab li a.selected").removeClass("selected");
    jQuery(this).addClass("selected");
    jQuery("ul.panel li").hide();
    jQuery(jQuery(this).attr("href")).show();
    return false;
  });
});

最初は、タブパネルの初期表示状態を設定します。id属性に[#tab1]が付いたパネル以外がhide()で非表示になります。(4行目)
タブがクリックされたときは、[selected]が付いたタブから[selected]を一旦取り除き、クリックされたタブにだけ[selected]を付け直します。(7,8行目)
次にすべてのパネルを一旦hide()で非表示にし、選択されたパネルだけshow()で再表示します。
これでタブパネルが完成です。

最後に

以上、jQueryでのタブパネルの作成方法を紹介しました。
少しでも参考になれば幸いです。

関連記事(一部広告含む)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


ページトップボタン