デモ:複数同時に表示するタブ(複数エフェクト)

jQuery toolsによる「複数同時に表示するタブ(複数エフェクト)」の動作デモです。

First pane

Second pane

Third pane

First pane

Second pane

Third pane

サンプルコード

HTMLのサンプル

<div>
	<ul id="slidetab1" 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>
</div>

<div>	
	<ul id="slidetab2" 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>
</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;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	-ms-border-radius: 10px;
}
#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 li 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;
	-moz-border-radius-topleft: 10px;
	-moz-border-radius-topright: 10px;
	-webkit-border-radius-topleft: 10px;
	-webkit-border-radius-topright: 10px;
	-ms-border-radius-topleft: 10px;
	-ms-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 a{
	margin-top: 0;
	height: 40px;
	border-color: orange;
}	

Javascriptのサンプル

$(function() {
	$("#slidetab1").tabs(".panes > div", {
		tabs: "li",                 // タブ自身の要素名
		current: "active",          // 現在アクティブなクラスのクラス名
		effect: "fade",             // エフェクト
		fadeInSpeed: "slow",        // フェードイン速度
		fadeOutSpeed: "slow"        // フェードアウト速度
	})
	$("#slidetab2").tabs(".panes > div", {
		tabs: "li",                 // タブ自身の要素名
		current: "active"           // 現在アクティブなクラスのクラス名
	})
});