(Created page with "$('div.tabdiv').each(function() { var tabs = $(this); tabs.find('> ul a').removeAttr('href'); tabs.find('> ul > li').click(function() { var li = $(this);...") |
m (Don't change location hash to tab ID or else page will jump to the tabs when changing tabs) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
tabs.children('div').eq(index).show().siblings('div').hide(); | tabs.children('div').eq(index).show().siblings('div').hide(); | ||
}); | }); | ||
tabs.find('> ul > li').first(). | |||
// activate first non-hidden tab without changing the hash | |||
var li = tabs.find('> ul > li:not(".hidden")').first(); | |||
var index = li.index(); | |||
li.addClass('active').siblings('li').removeClass('active'); | |||
tabs.children('div').eq(index).show().siblings('div').hide(); | |||
}); | }); | ||
(function(window, $) { | (function(window, $) { | ||
var tabbers = window.location.hash; | var tabbers = window.location.hash; | ||
tabbers = tabbers.replace(/ | |||
tabbers = tabbers.replace(/tabtag/, '@'); | |||
tabbers = tabbers.split('/') || []; | tabbers = tabbers.split('/') || []; | ||
Line 19: | Line 25: | ||
var route = tabbers.shift() || ''; | var route = tabbers.shift() || ''; | ||
route = route.split('@'); | route = route.split('@'); | ||
var child = route[ | var child = route[1] || ''; | ||
var parent = route[ | var parent = route[0] || ''; | ||
$( | $(parent + 'tabtag' + child).click(); | ||
} | } | ||
})(window, $); | })(window, $); |
Latest revision as of 02:34, 17 June 2020
$('div.tabdiv').each(function() {
var tabs = $(this);
tabs.find('> ul a').removeAttr('href');
tabs.find('> ul > li').click(function() {
var li = $(this);
var index = li.index();
li.addClass('active').siblings('li').removeClass('active');
tabs.children('div').eq(index).show().siblings('div').hide();
});
// activate first non-hidden tab without changing the hash
var li = tabs.find('> ul > li:not(".hidden")').first();
var index = li.index();
li.addClass('active').siblings('li').removeClass('active');
tabs.children('div').eq(index).show().siblings('div').hide();
});
(function(window, $) {
var tabbers = window.location.hash;
tabbers = tabbers.replace(/tabtag/, '@');
tabbers = tabbers.split('/') || [];
while(tabbers.length) {
var route = tabbers.shift() || '';
route = route.split('@');
var child = route[1] || '';
var parent = route[0] || '';
$(parent + 'tabtag' + child).click();
}
})(window, $);