用于页面刷新的选项卡上的jQuery cookie

时间:2013-01-14 20:40:56

标签: jquery cookies tabs refresh

我得到了这个标签:

$('.tabed .tabs li:first-child').addClass('current');
$('.tabed .block:first').addClass('current');

$('.tabed .tabs li').click(function(){
        var tabNumber = $(this).index();
        $(this).parent('ul').siblings('.block').removeClass('current');
        $(this).siblings('li').removeClass('current');
        $(this).addClass('current');
        $(this).parent('ul').parent('.tabed').children('.block:eq('+ tabNumber +')').addClass('current');
});

如何在那里实现jQuery cookie插件,以便在页面刷新后显示“当前”选项卡?

2 个答案:

答案 0 :(得分:1)

所以我根据标签的ID来做这个,但是如果你愿意,你可以根据索引做同样的事情:

$(document).on("click", "#tabs > li", function(){
    if(this.id)
        $.cookie("tab", this.id);
});    

if($.cookie("tab"))
{
    $("#"+$.cookie("tab")).addClass('active');
    $("#"+$.cookie("tab")+"content").addClass('active');
}
else
{
    $('.tabbable > .nav-tabs > :first-child').addClass('active');
    $('.tab-content > :first-child').addClass('active');
}

答案 1 :(得分:0)

我认为你不需要一个jQuery cookie插件来实现这个目标。

如果您尝试在哈希中设置当前选项卡的索引,该怎么办:

$(".tabed .tabs li").on("click", function () {
    /* ... Your stuff here ... */
    window.location.hash = tabNumber;
});

if (window.location.hash) {
    var tabId = parseInt(window.location.hash.split("#")[1]);

    $(".tabed .tabs li:nth-child(" + (tabId - 1) + ")").addClass("current");
}