Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery记得CSS布局更改吗?_Jquery_Css_Layout - Fatal编程技术网

JQuery记得CSS布局更改吗?

JQuery记得CSS布局更改吗?,jquery,css,layout,Jquery,Css,Layout,我使用JQuery作为一个布局开关,它工作得很好,但是当用户刷新页面时,如果你知道我的意思,没有一个布局选项被“保存”。即使用户刷新/更改页面,是否有办法记住选择了哪个开关选项 例如,如果post区域bg为黑色和文本白色,则开关将反转这些颜色,并将保持不变,除非用户切换回来 我以前是用php来做这件事的,但是我想不用php来做这件事,如果可能的话就用jq来做。你可以用用户的主题首选项设置一个cookie,并检查加载时是否存在该cookie。如果你想用jQuery来做,你肯定需要为此设置一个coo

我使用JQuery作为一个布局开关,它工作得很好,但是当用户刷新页面时,如果你知道我的意思,没有一个布局选项被“保存”。即使用户刷新/更改页面,是否有办法记住选择了哪个开关选项

例如,如果post区域bg为黑色和文本白色,则开关将反转这些颜色,并将保持不变,除非用户切换回来


我以前是用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