2010-09-13 80 views
3

我有一个导航选项卡,当用户单击一个选项卡div更改与AJAX。我想要记住用户在用户更改页面时的用户标签。我没有做过标签导航,我完全是新的JavaScript/jQuery。下面是标签的JavaScript:Cookie和JavaScript导航(标签)

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

      } 
     }) 
    }); 

的导航链接是这样的:

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

现在我保存在cookie中的href的值,但我不知道我怎样才能改变活动类当用户进入页面时,他已经在网站上,并且他点击了某个标签。

回答

2

建成后点击事件初始化(jQuery(item).bind('click', function() {...}

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

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

UPD这个代码

有点修改后的代码

(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

但不会将用户之后happend点击导航?我想在页面加载时自动切换到正确的选项卡。 – wilhemsson 2010-09-13 19:06:57

+0

签出更新的代码 – fantactuka 2010-09-13 21:38:50