Skip to content
This repository was archived by the owner on Jul 3, 2024. It is now read-only.

Commit ee26a28

Browse files
Aaron GustafsonAaron Gustafson
authored andcommitted
added support for nested elements within a tab
1 parent 55638b4 commit ee26a28

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

CHANGELOG

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
*v0.4.1* (2009-04-20)
2+
3+
* added support for nested elements within a tab
4+
5+
--
6+
17
*v0.4* (2009-04-20)
28

39
* added support for ARIA Roles and States

src/TabInterface.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
Function: TabInterface()
33
Author: Aaron Gustafson (aaron at easy-designs dot net)
44
Creation Date: 7 December 2006
5-
Version: 0.4
5+
Version: 0.4.1
66
Homepage: http://github.com/easy-designs/tabinterface.js
77
License: MIT License (see MIT-LICENSE)
88
Note: If you change or improve on this script, please let us know by
99
emailing the author (above) with a link to your demo page.
1010
------------------------------------------------------------------------------*/
1111
function TabInterface( el, i ){
1212
// Public Properties
13-
this.Version = '0.4'; // version
13+
this.Version = '0.4.1'; // version
1414

1515
// Private Properties
1616
var _i = i; // incrementor
@@ -110,9 +110,9 @@ function TabInterface( el, i ){
110110
function swap( e )
111111
{
112112
e = ( e ) ? e : event;
113-
var tab = e.target || e.srcElement,
114-
old_folder = document.getElementById( _active ),
115-
new_folder = document.getElementById( tab.folder );
113+
var tab = e.target || e.srcElement, old_folder = document.getElementById( _active );
114+
tab = getTab( tab );
115+
var new_folder = document.getElementById( tab.folder );
116116
removeClassName( document.getElementById( _active + '-tab' ), 'active-tab' );
117117
removeClassName( old_folder, 'visible' );
118118
old_folder.setAttribute( 'aria-hidden', 'true' );
@@ -135,13 +135,22 @@ function TabInterface( el, i ){
135135
}
136136
e.className = classes.join( ' ' );
137137
}
138+
function getTab( tab )
139+
{
140+
while ( tab.nodeName.toLowerCase() != 'li' )
141+
{
142+
tab = tab.parentNode;
143+
}
144+
return tab;
145+
}
138146
function moveFocus( e )
139147
{
140148
e = ( e ) ? e : event;
141149
var
142150
tab = e.target || e.srcElement,
143151
key = e.keyCode || e.charCode,
144152
pass = true;
153+
tab = getTab( tab );
145154
switch ( key )
146155
{
147156
case 37: // left arrow

0 commit comments

Comments
 (0)