【jQuery】タブ切り替え。プラグインなしで簡単実装
サンプル
上記のようなシンプルなタブ切り替えはjQueryのプラグインなしで簡単に実装できます。
【HTML】
【javascript】
②でtabboxのliに付与されたclass「selected」をすべて削除します。
そして③でクリックされてたliに「selected」を付与します。
同じく
④でtextboxのclass「hide」をすべて削除し、⑤でクリックされた順番のliに「hide」を付与させて表示させます。
- タブ1
- タブ2
- タブ3
- タブ4
- 内容1
- 内容2
- 内容3
- 内容4
上記のようなシンプルなタブ切り替えはjQueryのプラグインなしで簡単に実装できます。
ソース
【CSS】
ul {
list-style:none;
}
ul.tabbox li {
float:left;
width:25%;
height:40px;
line-height:40px;
border:1px solid #c0c0c0;
text-align:center;
cursor:pointer;
box-sizing: border-box;
}
ul.textbox {
width:100%;
border:1px solid #c0c0c0;
box-sizing: border-box;
height:200px;
padding:10px;
}
ul.textbox li {
display:none; /* ① */
}
ul.textbox li.hide {
display:block
}
.clearfix:after {
content: ".";
display: block;
height: 0;
font-size: 0;
clear: both;
visibility: hidden;
}
.selected {
background-color:#000;color:#fff;
}
【HTML】
<div class="clearfix"> <ul class="tabbox clearfix"> <li class="selected">タブ1</li> <li>タブ2</li> <li>タブ3</li> <li>タブ4</li> </ul><!-- tabbox --> <ul class="textbox clearfix"> <li class="hide">内容1</li> <li>内容2</li> <li>内容3</li> <li>内容4</li> </ul><!-- textbox --> </div>
【javascript】
$(function(){
$('ul.tabbox > li').on('click',function(){
var index = $('ul.tabbox > li').index(this);
$('ul.tabbox > li').removeClass('selected'); //②
$(this).addClass('selected'); //③
$('ul.textbox > li').removeClass('hide'); //④
$('ul.textbox > li').eq(index).addClass('hide'); //⑤
});
});
説明
簡単に解説すると、①でtextboxの非表示の分をdisplay:noneで非表示にします。②でtabboxのliに付与されたclass「selected」をすべて削除します。
そして③でクリックされてたliに「selected」を付与します。
同じく
④でtextboxのclass「hide」をすべて削除し、⑤でクリックされた順番のliに「hide」を付与させて表示させます。
著者:poroa | 投稿日:2016年08月08日 | カテゴリ:jQuery



