Привет всем! Очень надеюсь на помощь!
Имею три таба на бутстрап. Необходимо сделать так, что бы при перезагрузке страницы открывался тот ТАБ который был открыт последним. Получилось кое как реализовать, хеш подставляется в ссылку, но при перезагрузке открывается первый ТАБ :(
Разметка:
<ul class="nav nav-pills mb-3" id="main_tab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="pills-home-tab" data-toggle="pill" href="#pills-main" role="tab" aria-selected="true"><?= $language->profile_settings->display->main; ?></a>
</li>
<li class="nav-item">
<a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-template" role="tab" aria-selected="false"><?= $language->profile_settings->display->template; ?></a>
</li>
<li class="nav-item">
<a class="nav-link" id="pills-contact-tab" data-toggle="pill" name="pills-socials" href="#pills-socials" role="tab" aria-selected="false"><?= $language->profile_settings->display->socials; ?></a>
</li>
</ul>
Скрипт:
<script>
// Javascript to enable link to tab
var url = document.location.toString();
console.log('url',url);
if (url.match('#')) {
var tid = url.split('#')[1];
console.log('tid',tid);
$('.nav a[href$=#'+tid+']').tab('show') ;
window.scrollTo(0, 0);
}
// Change hash for page-reload
$('.nav a').on('shown.bs.tab', function (e) {
window.location.hash = e.target.hash;
window.scrollTo(0, 0);
})
// other links to control tabs
$(".nav-link").click(function(){
var url = $(this).attr('href');
console.log('url',url);
if (url.match('#')) {
var tid = url.split('#')[1];
console.log('tid',tid);
$('.nav a[href$=#'+tid+']').tab('show') ;
window.scrollTo(0, 0);
}
});
</script>