如何通过cookie(JS / jQ)在本地存储折叠或扩展状态

时间:2017-05-10 15:55:36

标签: javascript jquery cookies state store

您好我对JS的了解非常业余,即使这是轻描淡写,但我还在学习,所以请耐心等待。

问题:

我实际上使用了来自用户sanman的本地项目的片段https://stackoverflow.com/a/16303790/7981697

我能够实现它并且它也有效但现在我想通过本地存储的cookie存储折叠或扩展状态(我听说这是最有效的方法,但是可以随意纠正我在这里,如果我错了)

我的实际JS:

$(document).ready(function() { 
var clicked = 0;
$('.sidebar_button').on('click',function(){
if(clicked===0){
collapse();
clicked = 1;    
}
else if(clicked===1){
expand();
clicked = 0;
}           
})
function collapse(){
$('.sidebar').animate({
'width':'25%'
},0);
$('.content').animate({
'width':'75%'
},0);
}
function expand(){
$('.sidebar').animate({
'width':'0%'
},0);
$('.content').animate({
'width':'100%'
},0);
}
});
$(document).ready(function() { 
var clicked = 0;
$('.topbar_button').on('click',function(){
if(clicked===0){
collapse();
clicked = 1;    
}
else if(clicked===1){
expand();
clicked = 0;
}           
})      
function collapse(){
$('.topbar').animate({
'height':'100%'
},0);   
}
function expand(){
$('.topbar').animate({
'height':'0px'
},0);
}
});

我已经在stackoverflow上尝试了很多其他线程和建议,但由于JS结构完全不同所以我无法实现其中任何一个,所以如果你可以帮助在上下文中直接指示它会有很大帮助我提供的JS片段,甚至可能还有一个jsfiddle演示,因为我也更容易理解整个方法。

与此同时,我会尝试以某种方式通过反复试验来解决它。

提前谢谢你:)

1 个答案:

答案 0 :(得分:0)

我个人认为本地存储比cookie更好,因为你可以将所有内容存储在其中(只有cookie中的字符串),因为它更容易使用。要存储变量,只需执行localStorage.setItem("name", value);并访问它:localStorage.getItem( "name") 更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage

要获得更多浏览器兼容性,您还可以使用window.localStorage