【问题标题】:Retain open tab after page refresh / bootstrap [duplicate]页面刷新/引导后保留打开的选项卡[重复]
【发布时间】:2017-03-22 10:10:44
【问题描述】:

我有这段代码,它在两个选项卡中显示两个菜单,如何在页面刷新后阻止当前打开的选项卡重置?

<script type="text/javascript">
                            $(document).ready(function(){
                                $('a[data-toggle="tab"]').on('show.bs.tab', function(e) {
                                    localStorage.setItem('activeTab', $(e.target).attr('href'));
                                });
                                var activeTab = localStorage.getItem('activeTab');
                                if(activeTab){
                                    $('#subtabs a[href="' + activeTab + '"]').tab('show');
                                }
                            });
                            </script>

                        <ul id="subtabs" class="nav nav-tabs" role="tablist">
                            <li role="presentation" class="active"><a href="#artists" aria-controls="artists" role="tab" data-toggle="tab">Artists</a></li>
                            <li role="presentation"><a href="#subjects" aria-controls="subjects" role="tab" data-toggle="tab">Subjects</a></li>
                        </ul>

                        <div class="tab-content">
                            <div role="tabpanel" class="tab-pane active" id="artists">
                                <ul> 
                                <?php $loop = new WP_Query(array( 'post_type' => 'artist', 'posts_per_page' => -1 )) ; while ($loop->have_posts()) : $loop->the_post(); ?>

                                    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>

                                <?php endwhile; ?>
                                </ul>
                            </div>
                            <div role="tabpanel" class="tab-pane" id="subjects">
                                <ul>
                                <?php $tax_terms = get_terms('subject');

                                    foreach($tax_terms as $term) {

                                        $term_link = get_term_link($term);

                                        if (is_wp_error($term_link)) {
                                            continue;
                                        } ?>

                                        <li><a href="<?php echo esc_url($term_link); ?>"><?php echo $term->name; ?></a></li>   

                                <?php } ?>
                                </ul>
                            </div>
                        </div>

【问题讨论】:

    标签: javascript jquery html twitter-bootstrap


    【解决方案1】:

    实现此目的的最简单方法是使用 localStorage。每次单击选项卡列表时,只需将其添加到 localstorage 并在重新加载时将项目和特定类添加到将使其处于活动状态的特定选项卡。

    这里是来自 tutorialrepublic 的链接:http://www.tutorialrepublic.com/codelab.php?topic=faq&file=bootstrap-keep-last-selected-tab-active-on-page-refresh

    【讨论】:

    • 不知道为什么不赞成......也许可以用一个例子来充实答案......我也会建议这个,或者可能使用cookie
    • 为什么投反对票?
    • 这看起来像是解决方案,我已经尝试过了,但仍然没有运气,我已经更新了我的问题,考虑到了这个解决方案。
    • 嘿@BradFletcher,我检查了它并且它有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 2022-06-10
    相关资源
    最近更新 更多