Skip to content

Instantly share code, notes, and snippets.

@vlepeule
Last active August 24, 2016 21:20
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save vlepeule/ffb1456d5248d91cd5813d43378e33c7 to your computer and use it in GitHub Desktop.
Save vlepeule/ffb1456d5248d91cd5813d43378e33c7 to your computer and use it in GitHub Desktop.
Save last bootstrap tabs in localStorage
(function () {
// Simply add a data-save-tabs to your tablist e.g. <ul role="tablist" data-save-tabs="your-custom-slug">
$('[data-save-tabs] a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
var savedTabs = JSON.parse(localStorage.getItem('savedTabs'));
if (typeof savedTabs !== 'object' || !savedTabs){
savedTabs = {};
}
savedTabs[$(this).closest('[data-save-tabs]').data('save-tabs')] = $(this).attr('href');
localStorage.setItem('savedTabs', JSON.stringify(savedTabs));
});
$('[role="tablist"]').each(function (idx, elem) {
var savedTabs = JSON.parse(localStorage.getItem('savedTabs'));
if (typeof savedTabs === 'object'){
for(var index in savedTabs) {
if ($(this).data('save-tabs') == index){
$('[href="' + savedTabs[index] + '"]').tab('show');
}
}
}
});
})(jQuery);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment