Dynamic JavaScript Tabs
This is some code that I wrote to create dynamic tabs. I use it for forms where I have a lot of fields and a good percentage are "advanced" or otherwise not important enough to have visible immediately. The CSS is based on ideas from Silverorange Labs and the JS code is mine. The code is released under the MIT license which basically means you can do what you like with it as long as you don't blame me!
Download
Subversion
The very latest version of the code is in my subversion repository at: http://svn.akrabat.com/svn/dynamic_tabs/trunk/
Basic tutorial
It's not hard to use and I've included a sample html file in the zip archive. The basics are:
<div id="tab-container">
<div class="tab-content">
<h1 class="tab" title="title for page 1">Page 1</h1>
<p>This is the content of tab 1</p>
</div>
<div class="tab-content">
<h1 class="tab" title="title for page 2">Page 2</h1>
<p>This is the content of tab 2</p>
</div>
<div class="tab-content">
<h1 class="tab" title="title for page 3">Page 3</h1>
<p>This is the content of tab 3</p>
</div>
</div>
<script type="text/javascript" src="tabs.js"></script>
i.e. you need a "tab-container" and then each tab is contained in a "tab-content" and we use a "tab" to sort out the title. The nice thing is that it degrades really nicely!
Change Log
- 22/Mar/2005: version 1.0.0
-
- Initial release.
- 28/Mar/2005: version 1.0.1
-
- Gracefully handle the case when there is no container id.
- 21/Dec/2005: version 1.0.2
-
- Patch from Áncor & Imobach González Sosa to allow for multiple tab containers
- 17/Jan/2006: version 1.0.3
-
- Fixed version number at top of file
- Added this Change Log
- Fixed CSS as noted by Adam Fortuna of www.dyoit.com
- Patch from Simon H to add tab ids for other scripts to hook into

March 29th, 2006 at 01:19 #
Thanks alot of coming up with this. Works flawlessly.
April 4th, 2006 at 10:32 #
good work
April 4th, 2006 at 10:41 #
Thanks guys.
June 29th, 2006 at 02:34 #
Good job!
It's, however, should come along with more document because not everyone can dig into your code and understand all.
But this is really a dynamic tab strip!
November 9th, 2006 at 20:28 #
Wow Rob, This is really cool!
November 9th, 2006 at 21:57 #
Thanks Matt!
November 23rd, 2007 at 11:31 #
nice... thanks a lot!
September 3rd, 2008 at 07:18 #
Good script.
In the example above...
Last line....
tabs.js is spelt wrong
September 3rd, 2008 at 07:26 #
Thanks Rark!
Regards,
Rob...
June 11th, 2009 at 16:32 #
Our clients have been using these tabs for many years and now there has been a request to round the tab corners. Do you have a version that would round the corners or at least point me in the right direction. Hopefully, we can do this without images.
Thanks in advance for your help.
June 16th, 2009 at 10:37 #
Phil,
I would use images :)
Rob...
July 14th, 2009 at 09:25 #
This rocks, works well.
I only wish someone would show how to create the JavaScript and CSS formatting that goes along with it so that I could write my own from scratch. But now I guess that's asking for too much, now isn't it? =P
November 26th, 2009 at 15:52 #
anyone else notice that google maps screw up in this? they kind of dissapear to the left bihind itself. Well it's ok in IE but not firefox or safari!! I take out the tabs.js script and it works fine!! (but all tabs show again)
January 25th, 2010 at 14:06 #
Thanks. Its seams working good.
How to open second tab after refresh?
February 20th, 2010 at 20:44 #
excellent stuff exactly what i was looking for, but have a tiny problem, it wont let me add more than 5 tabs, they would start overlapping.
ive changed the CSS to be smaller in text size and so on, there is space for another tab, it just doesn't go.
February 20th, 2010 at 21:00 #
never mind i am noob just did it :) thanks for the code
March 5th, 2010 at 01:33 #
Hi, I found this post while searching for help with JavaScript. I've recently switched browsers from Safari to Internet Explorer 7. Just recently I seem to have a problem with loading JavaScript. Everytime I go on a site that requires Javascript, my computer freezes and I get a "runtime error javascript.JSException: Unknown name". I can't seem to find out how to fix the problem. Any aid is greatly appreciated! Thanks