Skip to content

Instantly share code, notes, and snippets.

@krciga22
Created May 15, 2014 19:18
Show Gist options
  • Save krciga22/71ecd46205be38923d05 to your computer and use it in GitHub Desktop.
Save krciga22/71ecd46205be38923d05 to your computer and use it in GitHub Desktop.
function BasicTabMenu(aMenuContainerId, aStartTabId){
var _this = this;
var _menuContainerId;
var _currentTabLink;
var _currentTab;
function init(aMenuContainerId, aStartTabId){
_menuContainerId = aMenuContainerId;
_currentTab = document.getElementById(aStartTabId);
var tabLinks = jQuery('#'+_menuContainerId+' a');
for(var i=0; i<tabLinks.length; i++){
var tabLink = tabLinks[i];
var tabIdForTabLink = tabLink.getAttribute('data-tab-id');
tabLink.onclick = function(e){
var tabId = e.currentTarget.getAttribute('data-tab-id');
_this.setCurrentTab(e.currentTarget, tabId);
}
if(tabIdForTabLink == aStartTabId){
_currentTabLink = tabLink;
_this.setCurrentTab(tabLink, aStartTabId);
}
}
}
this.setCurrentTab = function(aTabLink, aTabId){
if(_currentTab.id == aTabId){
return;
}
if(_currentTab && _currentTab.id != aTabId){
_currentTab.style.display = 'none';
_currentTabLink.className = _currentTabLink.className.replace(' current-menu-item ', '');
}
_currentTab = document.getElementById(aTabId);
_currentTabLink = aTabLink;
_currentTab.style.display = 'block';
_currentTabLink.className += ' current-menu-item ';
}
init(aMenuContainerId, aStartTabId);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment