JavaScript でタブ バー モジュールを実装する予定です。
ページが読み込まれるたびにTabBarを作成し、そこに 2 つのTabを配置したいと考えています。
問題は、クリック イベントをタブに追加する最良の方法は何ですか?
これが私のコードです:
// A tab in tab bar.
Tab = function(titleID, contentID) {
this.title = document.getElementById(titleID);
this.content = document.getElementById(contentID);
}
Tab.prototype.show = function() {
this.title.className = "title-bg-active";
}
Tab.prototype.hide = function() {
this.title.className = "";
}
// Tab bar contains several tabs.
TabBar = function() {
this.tabs = [];
}
TabBar.prototype.add = function(tab) {
// TODO add click listener to tab
this.tabs.push(tab);
}
TabBar.prototype.open = function(tab) {
for(var i = 0; i < this.tabs.length; i++) {
if(tab.title == this.tabs[i].title) {
tab.show();
}else{
tab.hide();
}
}
}
window.onload = function(){
tb = new TabBar();
tb.add(new Tab("famous", "famous-content"));
tb.add(new Tab("recently", "recently-content"));
}
jQueryやその他のライブラリは本当に使いたくないです、ありがとう!
編集:
他のタブを閉じるように通知する必要もありますが、どうすればそれを行うことができますonclick
か? タブには を保持する必要があると思いますtabbar
が、どうすればよいですか?