2010-09-13 3 views
3

J'ai un onglet de navigation et lorsque l'utilisateur clique sur un onglet, le div change avec ajax. Je voudrais le rappeler sur quel onglet l'utilisateur était lorsque l'utilisateur change de page. Je n'ai pas fait la navigation de tabulation et im totalement nouveau à javascript/jquery. Voici le javascript pour les onglets:Cookies et navigation javascript (tabs)

jQuery('#contentContainer #tabNavi .nav-item').each(function(i, item) { 
     jQuery(item).bind('click', function() { 
      if (jQuery('a', this).hasClass('activeTab')) { 
       return; 
      } else { 
       jQuery('#contentContainer #tabNavi .nav-item' a').removeClass('activeTab').eq(i).addClass('activeTab'); 
       channel_id = jQuery('a', this).attr('href').split('#')[1]; 
       if (channel_id == _channel) { 
        return; 
       } 

      } 
     }) 
    }); 

Les liens nav sont comme ceci:

<li><a href="#39">Link1</a></li> 
<li><a href="#53">Link2</a></li 

Maintenant, j'ai la valeur href enregistrée dans un cookie, mais je ne sais pas comment je peux changer la classe active à droite li article lorsque l'utilisateur vient sur la page et il a été sur le site avant et il a cliqué sur un onglet.

Répondre

2

Mettez ce code après l'initialisation d'événement click (jQuery(item).bind('click', function() {...})

var selectedTab = $.cookie('selectedTab'); 

if (selectedTab) { 
    $('li[href="' + selectedTab + '"]').click(); 
} 

UPD

Un code modifié peu

(function($) { 

    $('#contentContainer #tabNavi .nav-item a').click(function() { 

     var $link = $(this); 
     $link.click(function() { 
      if (!$link.hasClass('activeTab')) { 
       $('#contentContainer #tabNavi .nav-item a.activeTab').removeClass('activeTab'); 
       $link.addClass('activeTab'); 
       $.cookie('selected-tab', $link.attr('href')); 
      } 

      return false; 
     }); 

    }); 

    var selectedTab = $.cookie('selected-tab'); 
    if (selectedTab) { 
     $('#contentContainer #tabNavi .nav-item a[href="' + selectedTab + '"]').click(); 
    } 

})(jQuery); 
+0

Mais ne pas happend après que l'utilisateur clique sur la navigation? Je voudrais passer automatiquement à l'onglet droit lorsque la page se charge. – wilhemsson

+0

Commander le code mis à jour – fantactuka