17,230
edits
No edit summary |
No edit summary |
||
Line 14: | Line 14: | ||
$(function() { | $(function() { | ||
var tabstate = {}; | var tabstate = {}; | ||
// hide the content | |||
$('.tabtarget div').hide(); | |||
// select a tab | |||
var tabselect = function( target, selector, selection ) { | |||
// set the data | |||
tabstate[target][selector] = selection; | |||
// construct the tabContent string | |||
var content = [] | |||
for( var key in tabstate[target] ) { | |||
if( tabstate[target].hasOwnProperty( key ) ) { | |||
content.push( tabstate[target][key] ); | |||
} | |||
} | |||
content = content.join( ' ' ); | |||
// show the tabContent div | |||
$('#'+target+' div[data-tab-content="'+content+'"]').show(); | |||
} | |||
// look at each tabset's target and selector | |||
$('.tabset').each( function() { | $('.tabset').each( function() { | ||
var target = $(this).data( 'tabTarget' ); | var target = $(this).data( 'tabTarget' ); | ||
var selector = $(this).data( 'tabSelector' ); | var selector = $(this).data( 'tabSelector' ); | ||
tabstate[target] = {}; | tabstate[target] = {}; | ||
// look at each tab's selection | |||
$(this).find( '.tab' ).each( function() { | $(this).find( '.tab' ).each( function() { | ||
var selection = $(this).data( 'tabSelection' ); | var selection = $(this).data( 'tabSelection' ); | ||
// | |||
// check default | |||
if( $(this).data( 'tabDefault' ) ) { | |||
tabselect( target, selector, selection ); | |||
} | |||
// onclick event | |||
$(this).on( 'click', function() { | $(this).on( 'click', function() { | ||
$('#'+target+' div').hide(); | $('#'+target+' div').hide(); | ||
tabselect( target, selector, selection ); | |||
}); | }); | ||
}); | }); |