2017-03-22 7 views
-1

Ich habe diesen Code, der zwei Menüs in zwei Registerkarten zeigt, Wie kann ich die aktuell geöffnete Registerkarte von einem Zurücksetzen nach einer Seitenaktualisierung stoppen?Behalten Sie die Registerkarte nach der Seite aktualisieren/bootstrap

<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> 

Antwort

2

Der einfachste Weg, dies zu erreichen, wäre die Verwendung von localStorage. Jedes Mal, wenn Sie auf die Registerkartenliste klicken, fügen Sie sie einfach zu localstorage hinzu und beim erneuten Laden erhalten Sie das Element und die spezifische Klasse für diese bestimmte Registerkarte, die es aktivieren würde. Hier

ist die Verbindung von tutorialrepublic: http://www.tutorialrepublic.com/codelab.php?topic=faq&file=bootstrap-keep-last-selected-tab-active-on-page-refresh

+0

nicht sicher, warum die downvote ... vielleicht die Antwort Fleisch aus mit einem Beispiel .. ich dies auch vorgeschlagen von würde, oder möglicherweise die Verwendung eines Cookies – Dale

+0

Warum die Downvote? –

+0

Das sieht nach der Lösung aus, ich habe es versucht und immer noch kein Glück, ich habe meine Frage mit dieser Lösung im Hinterkopf aktualisiert. –

Verwandte Themen