JQuery记得CSS布局更改吗?
我使用JQuery作为一个布局开关,它工作得很好,但是当用户刷新页面时,如果你知道我的意思,没有一个布局选项被“保存”。即使用户刷新/更改页面,是否有办法记住选择了哪个开关选项 例如,如果post区域bg为黑色和文本白色,则开关将反转这些颜色,并将保持不变,除非用户切换回来JQuery记得CSS布局更改吗?,jquery,css,layout,Jquery,Css,Layout,我使用JQuery作为一个布局开关,它工作得很好,但是当用户刷新页面时,如果你知道我的意思,没有一个布局选项被“保存”。即使用户刷新/更改页面,是否有办法记住选择了哪个开关选项 例如,如果post区域bg为黑色和文本白色,则开关将反转这些颜色,并将保持不变,除非用户切换回来 我以前是用php来做这件事的,但是我想不用php来做这件事,如果可能的话就用jq来做。你可以用用户的主题首选项设置一个cookie,并检查加载时是否存在该cookie。如果你想用jQuery来做,你肯定需要为此设置一个coo
我以前是用php来做这件事的,但是我想不用php来做这件事,如果可能的话就用jq来做。你可以用用户的主题首选项设置一个cookie,并检查加载时是否存在该cookie。如果你想用jQuery来做,你肯定需要为此设置一个cookie(或者使用HTML5存储本地数据,但这不是普遍使用的、浏览器接受的、也不是必需的) 这是设置cookie的一个非常基本的函数,从: 这是获得饼干的基本方法,也是从: 然后,无论何时要保存颜色,只需将其设置为:
set_cookie('bg_color', color, 10); // will save `color` in the cookie for 10 days
编辑发布此消息后,我想到可能有一个内置的jQuery函数来设置/获取cookie,或者至少有一个非常好的插件。页面有一些很好的参考资料
function get_cookie(c_name){
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
}
var bg_color = get_cookie('bg_color');
if (bg_color != null) { // may want to do more verification here, as well
$('body').css('backgroundColor', '#' + bg_color);
}
else {
$('body').css('backgroundColor', '#FFF');
}
set_cookie('bg_color', color, 10); // will save `color` in the cookie for 10 days