Download
- Overview
- Documents
- Demos
User Rating: 3.3/5 ( 1 votes)
Your Rating:
TabbedContent is a lightweight* tabs plugin that uses the HTML5 history API to add your tab navigation to your browser’s history.
* 2.6 KB packed, 1.5 KB gzipped
It is compatible with both jQuery and Zepto.js libraries.
It also has an API that will let you switch between tabs externally.
Source: elboletaire.github.io
1. INCLUDE CSS AND JS FILES
<link rel="stylesheet" href="../css/styles.css" /> <script src="//code.jquery.com/jquery-2.1.3.min.js"></script> <script src="../js/tabbedcontent.min.js"></script>
2. HTML
<ul>
<li><a href="#tab-1">Tab 1</a></li>
<li><a href="#tab-2">Tab 2</a></li>
<li><a href="#tab-3">Tab 3</a></li>
<li><a href="#tab-n">Tab N</a></li>
</ul>
<div class="tabscontent">
<div id="tab-1">
<!-- your first tab content -->
</div>
<div id="tab-2">
<!-- your second tab content -->
</div>
<div id="tab-3">
<!-- your third tab content -->
</div>
<div id="tab-n">
<!-- your n tab content -->
</div>
</div>
3. JAVASCRIPT
$('.tabscontent').tabbedContent();
4. OPTIONS
$('.tabscontent').tabbedContent({
links : '.tabs a', // the tab links
errorSelector : '.error-message', // false to disable
speed : false, // speed of the show effect. Set to null or false to disable
onSwitch : false, // onSwitch callback
onInit : false, // onInit callback
currentClass : 'current', // current selected tab class (is set to link's parent)
tabErrorClass : 'has-error', // class to be added to tabs containing errorSelector (is set to link's parent)
loop : false // if set to true will loop between tabs when using the next() and prev() api methods
});
5. API
TabbedContent has a simple API that will allow you to switch between tabs. To use it simply call data('api'):
var mytabs = $('.tabscontent').tabbedContent().data('api');
// now you can use the switch method:
mytabs.switch('#tab-1');
// or using it's index...
mytabs.switch(0); // note that first tab begins at 0
// you can also switch using id (whout #) and jQuery/Zepto objects
mytabs.switch('tab-1');
mytabs.switch($('.tabscontent div#tab-1'));
// you can also switch to next and previous tabs
mytabs.next();
mytabs.prev();
// the previous example won't loop the tabs; to do so you can set loop to true when configuring tabbedContent:
var mytabs = $('.tabscontent').tabbedContent({loop: true}).data('api');
// and / or you can pass it directly to the method:
mytabs.next(true);
mytabs.prev(true);
// check if current tab is first or last
if (mytabs.isFirst()) { /* do stuff */ }
if (mytabs.isLast()) { /* do stuff */ }
Full API
{
// Switch to tab
'switch' : function apiSwitch(tab) {},
// Switch to tab for old browsers
'switchTab' : function apiSwitch(tab) {},
// Get current tab index
'getCurrent' : function getCurrent() {},
// Get jQuery/Zepto object for specified tab
'getTab' : function getTab(tab) {},
// Go to next tab in the tabs set
'next' : function next(loop) {},
// Go to previous tab in the tabs set
'prev' : function prev(loop) {},
// Returns true if current tab is first tab
'isFirst' : function isFirst() {},
// Returns true if current tab is last tab
'isLast' : function isLast() {}
};
6. CALLBACK
TabbedContent has two callbacks that may be util to you: onInit and onSwitch.
$('.tabscontent').tabbedContent({
onInit: function(api) {
console.log('tabs initialized');
console.log('Current tab is ' + api.getCurrent());
},
onSwitch: function(tab, api) {
// Init a WYSIWYG editor on the tab (for example..)
if (!$(tab + ' textarea').data('wysiwyg-initialized')) {
initWysiwyg(tab + ' textarea');
}
}
});
JS Tutorial
