Component for turning a list into tabs.
Inspired by stagas/tabify but without all the DOM configuration and with IE support.
Install with component(1):
$ component install fredsterss/tabify
You will need to style the default active tab link class .active
and the hidden tab target class .hidden
to see it working.
Your document must have a valid DOCTYPE otherwise IE doesn't support querySelectorAll
.
Turns an array of links
into tabs that toggle visibility on the corresponding array of targets
. Use options.hiddenClass
and options.activeClass
to override the default classes applied to hidden tab content elements and active tab links respectively.
With the following DOM:
<ul id="tabs">
<li>tab 1</li>
<li>tab 2</li>
<li>tab 3</li>
</ul>
<div id="tabs-holder">
<div>content for tab 1</div>
<div>content for tab 2</div>
<div>content for tab 3</div>
</div>
The following javascript tabifys the links.
var links = document.getElementById('tabs').getElementsByTagName('li');
var targets = document.getElementById('tabs-holder').getElementsByTagName('div');
var tabify = require("tabify");
var tabs = tabify(links, targets);
Tabify prioritises convention over DOM configuration, so mismatching links / targets will be ignored by Tabify. For more intel, check out the example.html.