J'ai suis le tuto sur la navigation par onglet mais j'ai un problème car il enregistre le cookie et met bien l'onglet sauvegardé mais il me met aussi la classe active de la première cellule.

Voici mon js:

jQuery(function($){
    var anchor = window.location.hash;
    $('.nav-tabs').each(function() {
        var current = null;
        var id = $(this).attr('id');
        if(anchor != '' && $(this).find('a[href="'+anchor+'"]').length > 0) {
            current = anchor;
        } else if($.cookie('tab'+id) && $(this).find('a[href="'+$.cookie('tab'+id)+'"]').length > 0) {
            current = $.cookie('tab'+id);
        } else {
            current = $(this).find('a:first').attr('href');
        }
        $(this).find('a[href="'+current+'"]').parent().addClass('active');
        $(current).addClass('active').siblings().hide();
        $(this).find('a').click(function() {
            var link = $(this).attr('href');
            if(link == current) {
                return false;
            } else {
                $('.nav-tabs').find('li').removeClass('active');
                $(this).parent().addClass('active');
                $(link).addClass('active').show().siblings().hide().removeClass('active');
                current = link;
                $.cookie('tab'+id, current);
            }
            return false;
        })
    });
});

Et voici ma structure html:

<div class="tabbable">
  <ul class="nav nav-tabs">
    <li class="active"><a href="#tab1">test</a></li>
    <li><a href="#tab2" >test</a></li>
    <li><a href="#tab3" >test</a></li>
    <li><a href="#tab4" >test</a></li>
    <li><a href="#tab5" >test</a></li>
    <li><a href="#tab6" >test</a></li>
  </ul>
  <div class="tab-content">
    <div class="tab-pane" id="tab1">
      <p>I'm in Section 1.</p>
    </div>
    <div class="tab-pane" id="tab2">
      <p>Howdy, I'm in Section 2.</p>
    </div>
    <div class="tab-pane" id="tab3">
      <p>Howdy, I'm in Section 3.</p>
    </div>
    <div class="tab-pane" id="tab4">
      <p>Howdy, I'm in Section 4.</p>
    </div>
    <div class="tab-pane" id="tab5">
      <p>Howdy, I'm in Section 5.</p>
    </div>
    <div class="tab-pane" id="tab6">
      <p>Howdy, I'm in Section 6.</p>
    </div>
  </div>
</div>

Voyez-vous d'ou vient le problème????

1 réponse


djtec
Auteur
Réponse acceptée

Problème résolu en faites j'avais laissé en dur dans mon html un class="active" au premier li