Javascript 刷新后保存当前活动选项卡

Javascript 刷新后保存当前活动选项卡,javascript,html,Javascript,Html,我有更改活动类并在其下应用地下样式的菜单: 我的代码片段: (函数(){ var tabs=document.getElementsByClassName('tab'); 对于(i=0;i

我有更改活动类并在其下应用地下样式的菜单:

我的代码片段:

(函数(){
var tabs=document.getElementsByClassName('tab');
对于(i=0;i
.myTabs{
边框:1px实心#7979;
背景:#ffffff;
背景:-莫兹线性梯度(顶部,#ffffff 0%,#D6100%);
背景:-webkit线性梯度(顶部,#ffffff 0%,#D6100%);
背景:线性梯度(至底部,#ffffff 0%,#D6100%);
过滤器:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#d6d6',GradientType=0);
}
.myTabs a{
颜色:#000000;
左边框:1px实心#7979;
显示:块;
填充物:5px10px;
浮动:对;
文字装饰:无;
}
.myTabs a:悬停{
背景:#ffffff;
背景:-莫兹线性梯度(顶部,#D60%,#ffffff 100%);
背景:-webkit线性梯度(顶部,#D60%和#ffffff 100%);
背景:线性梯度(至底部,#D60%,#ffffff 100%);
过滤器:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d6d6',endColorstr='#ffffff',GradientType=0);
文字装饰:无;
}
.myTabs a:活动,
.myTabs a:已访问{
文字装饰:无;
}
.myTabs a.active{
/*盒影:0px 5px 0px灰色*/
背景:#ffffff;
背景:-moz线性梯度(顶部,#c3c3c3 0%,#ffffff 100%);
背景:-webkit线性梯度(顶部,#c3c3c3 0%,#ffffff 100%);
背景:线性梯度(至底部,#C3C3 0%,#ffffff 100%);
过滤器:progid:DXImageTransform.Microsoft.gradient(startColorstr='#c3c3c3',endColorstr='#ffffff',GradientType=0);
文字装饰:无;
}

负载

我建议刷新后使用document.cookies保存数据:

更新活动选项卡时,请执行以下操作:

document.cookie = “activeTab=“ + activeTab
当页面加载时,尝试检索此数据:

var activeTab = document.cookie.split(“=“);
if(activeTab.length == 2) {
    activeTab = activeTab[1]:
} else {
    activeTab = “1”;
}

祝你好运

有两种不同的方式,一种是cookie,另一种是localstorage。对于类似的情况,我将使用localstorage,这样您就不会为每个请求发送activetab。但是,有些浏览器/计算机不支持本地存储,因此您可以使用上面的cookie代码

下面是一个JS本地存储库,它也保存了活动选项卡

任何问题都可以问

以下是代码的一部分:

if (typeof(Storage) !== "undefined") {
   if (localStorage.lastTab == undefined) localStorage.setItem("lastTab",0);
   var i = localStorage.lastTab;
   $('.fakeTabs > li').removeClass('active').eq(i).addClass('active');
} else {
   // This will not save an active tab unless you use cookies but why waste the space.
} 

我应该在新函数中使用它?@Pepe第一个代码是保存activeTab,第二个代码是加载/刷新页面后获取activeTab。应该在开始时运行以设置活动选项卡。它只返回“未定义”cookie@PepeCookie不能在本地文件上工作,它必须在internet上才能工作。但是,您可以通过使用document.cookietest并自己赋值来测试它。