Skip to content

Instantly share code, notes, and snippets.

@gnanet
Forked from vlepeule/save-last-bootstrap-tabs.js
Created August 24, 2016 21:20
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gnanet/8510e63fd5b0dee2bf1cf3e382530bfa to your computer and use it in GitHub Desktop.
Save gnanet/8510e63fd5b0dee2bf1cf3e382530bfa 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