Открыть предыдущую вкладку при перезагрузке - PullRequest
0 голосов
/ 31 января 2020

У меня проблема с моим сайтом. У него есть страница с двумя вкладками. Во второй вкладке есть нумерация страниц, и я использую bootstrap. Проблема, с которой я сталкиваюсь, заключается в том, что, когда я нажимаю другую страницу на странице, она возвращается к 1-й вкладке.

Я попытался исправить это, используя ссылки ha sh. Когда я это делаю, мигает 1-я вкладка в течение миллисекунд, а затем показывает 2-ю вкладку, что не то, что я хочу. Я хочу, чтобы он показывал ту же вкладку даже после нажатия на пагинацию. Также обратите внимание, что я использую Ajax.

<ul class="nav nav-tabs" id="resumes-tab">
    <li class="active"><a data-toggle="tab" href="#shortlisted-resumes-list" aria-expanded="true">Shortlisted</a></li>
    <li class=""><a data-toggle="tab" href="#download-resumes-list" aria-expanded="false">Downloads</a></li>
</ul>
<div class="tab-content">

    <div id="shortlisted-resumes-list" class="tab-pane fade active in">
        <div class="cs-resumes" data-adminurl="https://example.com/wp-admin/admin-ajax.php"></div>
    </div>

    <div id="download-resumes-list" class="tab-pane fade">
        <div class="cs-resumes" data-adminurl="https://example.com/wp-admin/admin-ajax.php">
            <nav>
                <ul class="pagination">
                    <li><a aria-label="Previous"><span aria-hidden="true"><i class="icon-angle-left"></i>Previous</span></a></li>
                    <li><a class="active">1</a></li>
                    <li><a href="javascript:void(0);" aria-label="Next" onclick="cs_dashboard_tab_load('resumes', 'employer', 'https:\/\/example.com/wp-admin/admin-ajax.php', '83', '','2')"><span aria-hidden="true">Next <i class="icon-angle-right"></i></span></a></li>
                </ul>
            </nav>
        </div>
    </div>

</div>

Вот мой jQuery фрагмент

<script>
    // Javascript to enable link to tab
    var hash = document.location.hash;
    var prefix = "";

    if (hash) {
        jQuery('.nav-tabs a[href="' + hash.replace(prefix, "") + '"]').tab('show');
    }

    // Change hash for page-reload
    jQuery('.nav-tabs a').on('shown.bs.tab', function (e) {
        var hash = document.location.hash;
        window.location.hash = e.target.hash.replace("#", "#" + prefix);
        jQuery("html, body").animate({ scrollTop: $(".cs-dash-resumes-tabs").offset().top }, "slow");
    });
</script>

Почему это происходит? Потому что я использую Ajax?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...