デモ:ヒストリーとタブの連動

jQuery toolsによる「ヒストリーとタブの連動」の動作デモです。
タブをクリックすると、アドレスバーの末尾に#とid値が指定され、ブラウザに履歴を残すことができます。

First pane

Second pane

Third pane

サンプルコード

HTMLのサンプル

<ul class="slidetabs">
<li><a href="#tab1" class="tab1"><span class="label">1</span></a></li>
<li><a href="#tab2" class="tab2"><span class="label">2</span></a></li>
<li><a href="#tab3" class="tab3"><span class="label">3</span></a></li>
</ul>

<div class="panes">
	<div class="item pane1">
		<h3 class="line">First pane</h3>
	</div>
	<div class="item pane2">
		<h3 class="line">Second pane</h3>
	</div>
	<div class="item pane3">
		<h3 class="line">Third pane</h3>
	</div>
</div>

CSSのサンプル

/* パネルを囲う要素 */
#example .panes {
	position:relative;	
	width:400px;
	height:240px;
	margin-bottom: 10px;
	cursor:pointer;
}

/* パネル */
#example .item {
	position: absolute;
	border: solid 3px #ccc;
	display:none;
	height:240px;
	width:400px;
	border-radius:5px;
}
#example .pane1{
	background: url(http://nekodama.sakura.ne.jp/images/webdev/jquerytools/tabSet/pic_cat1_org.jpg) no-repeat;
}
#example .pane2{
	background: url(http://nekodama.sakura.ne.jp/images/webdev/jquerytools/tabSet/pic_cat2_org.jpg) no-repeat;
}
#example .pane3{
	background: url(http://nekodama.sakura.ne.jp/images/webdev/jquerytools/tabSet/pic_cat3_org.jpg) no-repeat;
}
/* パネル内のライン */
#example .panes .line {
	display:block;
	background: #333;
	opacity: 0.8;
	color: #fff;
	margin-top: 10px;
	padding: 2px 5px;
}

/* タブを囲う要素 */
#example .slidetabs{
	width:100%;
	overflow:hidden;
}
/* タブ */
#example .slidetabs li{
	float:left;
	width: 100px;
	height: 30px;
	margin-left: 10px;
}
#example .slidetabs a{
	display: block;
	width: 100px;
	height: 30px;
	margin-top: 10px;
	border-top: solid 3px #ccc;
	border-left: solid 3px #ccc;
	border-right: solid 3px #ccc;
	border-radius-topleft: 10px;
	border-radius-topright: 10px;
}
#example .slidetabs .label{
	background: #333;
	opacity: 0.8;
	color: #fff;
	margin-top: 10px;
	padding: 2px 5px;
}
#example .slidetabs .tab1{
	background: url(http://nekodama.sakura.ne.jp/images/webdev/jquerytools/tabSet/pic_cat1_thumb.jpg) no-repeat;
}
#example .slidetabs .tab2{
	background: url(http://nekodama.sakura.ne.jp/images/webdev/jquerytools/tabSet/pic_cat2_thumb.jpg) no-repeat;
}
#example .slidetabs .tab3{
	background: url(http://nekodama.sakura.ne.jp/images/webdev/jquerytools/tabSet/pic_cat3_thumb.jpg) no-repeat;
}
#example .slidetabs .active{
	margin-top: 0;
	height: 40px;
	border-color: orange;
}	

Javascriptのサンプル

$(function() {
	// フルオプションの例
	$(".slidetabs").tabs(".panes > div", {
		current: "active",          // 現在アクティブなクラスのクラス名
		initialIndex: 2,            // 最初に表示されるタブ
		event: "click",             // タブに対してのイベント種類
		history: true               // 履歴有効
	})
});