元々jquery.ui.jsを使うまでもない場合のために考えてたのだが、思った以上に長くなってしまった。css部分が長い……。
<html>
<head>
<script src="http://www.google.com/jsapi"></script><script>google.load("jquery", "1");</script>
<script>
$.fn.simpleTabs = function () {
var self = this;
$(">ul>li" , self).css("display", "inline");
$(">div" , self).hide();
$(">div:first", self).show();
$(">ul>li>a" , self).click(function(e){
$(">ul>li>a", self).removeClass("ActiveTab");
$(this).addClass("ActiveTab").blur();
$(">div", self).hide();
$(">div" + $(this).attr("href"), self).show();
e.preventDefault();
});
};
$(function(){
$("#tabs").simpleTabs();
});
</script>
<style>
.TabPanel ul, .TabPanel li {
margin: 0;
padding: 0;
}
.TabPanel ul li {
display: inline;
}
.TabPanel ul li a {
border: solid 1px lightgray;
background-color: white;
text-decoration: none;
-moz-border-radius-topleft : 5px;
-moz-border-radius-topright: 5px;
}
.TabPanel ul li a.ActiveTab {
border-bottom-color: white;
}
.TabPanel ul {
background-color: lightgray;
padding: 1px 0;
}
.TabPanel ul, x:-moz-read-only {
padding: 0; /* css hack Firefox */
_padding: 1px 0; /* css hack IE */
}
.TabPanel div {
border: solid 1px lightgray;
border-width: 0 1px 1px 1px;
}
</style>
<body>
<div id="tabs" class="TabPanel">
<ul>
<li><a href="#a" class="ActiveTab">test1</a>
<li><a href="#b">test2</a>
<li><a href="#c">test3</a>
</ul>
<div id="a" style="border: solid 1px lightgray; border-width: 0 1px 1px 1px;">
aaaa<br>aaaa<br>aaaa<br>aaaa<br>aaaa<br>
</div>
<div id="b" style="border: solid 1px lightgray; border-width: 0 1px 1px 1px;">
bbbb<br>bbbb<br>bbbb<br>bbbb<br>bbbb<br>
</div>
<div id="c" style="border: solid 1px lightgray; border-width: 0 1px 1px 1px;">
cccc<br>cccc<br>cccc<br>cccc<br>cccc<br>
</div>
</div>