タブに表示する内容を別ファイルにし非同期で読み込ませる(Yahoo UI)

説明

非同期でタブビューの内容を設定するにはYahoo UIライブラリを使うと便利です。タブビューに必要なライブラリファイルであるyahoo.js、dom.js、event.js、connection.js、tabview.jsを順番に読み込ませます。
HTML文書内にはタブビューを表示するための<div>タグを用意し、クラス名とID名を指定しておきます。プログラムではYAHOO.widget.TabView()でツリービューを生成しaddTab()で表示する内容を設定します。非同期で読み込ませる場合にはdataSrcオプションに読み込むファイルURLを指定します。
設定が終わったらYAHOO.util.Event.onContentReady()でページが読み込まれた際にツリービューを生成するようにします。

JavaScriptテクニック ブック  詳しい解説などはJavaScriptテクニック ブックを参照してください。

サンプルコード [実行]

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>JavaScript Sample</title>
<link rel="stylesheet" href="tabs.css" type="text/css" media="all">
<link rel="stylesheet" href="border_tabs.css" type="text/css" media="all">
<link rel="stylesheet" type="text/css" href="main.css" media="all">
<script type="text/javascript" src="yahoo.js"></script>
<script type="text/javascript" src="dom.js"></script>
<script type="text/javascript" src="event.js"></script>
<script type="text/javascript" src="connection.js"></script>
<script type="text/javascript" src="tabview.js"></script>
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<h1>タブに表示する内容を別ファイルにし非同期で読み込ませる</h1>
<div id="informationTab" class="yui-navset"></div>
</body>
</html>

window.onload = function(){
var tabObj = new YAHOO.widget.TabView("informationTab");
tabObj.addTab(new YAHOO.widget.Tab({
label : " Perl ",
dataSrc : "./tab1.txt",
active:true
}));
tabObj.addTab(new YAHOO.widget.Tab({
label : " Ruby ",
dataSrc : "./tab2.txt"
}));
tabObj.addTab(new YAHOO.widget.Tab({
label : " Python ",
dataSrc : "./tab3.txt"
}));
YAHOO.util.Event.onContentReady("doc", function() {
tabView.appendTo("informationTab");
});
}