Задать вопрос
@maks_pachino

Как запоминать открытую TAB при перезагрузке страницы (bootstrap)?

Привет всем! Очень надеюсь на помощь!

Имею три таба на бутстрап. Необходимо сделать так, что бы при перезагрузке страницы открывался тот ТАБ который был открыт последним. Получилось кое как реализовать, хеш подставляется в ссылку, но при перезагрузке открывается первый ТАБ :(

Разметка:
<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>
  • Вопрос задан
  • 296 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы