Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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/4/json/13.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 如何永久更改某些元素的颜色?_Jquery_Json - Fatal编程技术网

Jquery 如何永久更改某些元素的颜色?

Jquery 如何永久更改某些元素的颜色?,jquery,json,Jquery,Json,我有一个php页面,我希望用户可以在上面更改某些元素的颜色,下次加载页面时,默认情况下应该加载他的选择 我正在使用jQueryclick()函数来更改颜色,并且为了保存服务器端的更改,我认为最好的方法是使用jQuery/json,但我对这一点一无所知 我应该有一个单独的json文件并存储颜色选项吗?我在网上找到了很多关于jquery/json的故事,但仍然需要一个如何完成这项任务的示例。请提供有用的链接或代码示例 #div01 { background:#008080;

我有一个php页面,我希望用户可以在上面更改某些元素的颜色,下次加载页面时,默认情况下应该加载他的选择

我正在使用jQuery
click()
函数来更改颜色,并且为了保存服务器端的更改,我认为最好的方法是使用jQuery/json,但我对这一点一无所知

我应该有一个单独的json文件并存储颜色选项吗?我在网上找到了很多关于jquery/json的故事,但仍然需要一个如何完成这项任务的示例。请提供有用的链接或代码示例

 #div01 {
        background:#008080;
        color:#ffffff;
    }


$('#btnBlue').click(function () {
    $('#div01').css('background', '#0000ff');
    $('#div01').css('color', '#ffffff');
});

$('#btnRed').click(function () {
    $('#div01').css('background', '#ff0000');
    $('#div01').css('color', '#0000ff');
});

您需要将这些元素的状态保持在某个位置,否则就不可能

要持久化状态,需要确定是使用客户端存储还是服务器端持久化

如果您只想在浏览器中存储数据,那么您可以考虑使用cookie或html5 localStorage,但缺点是一旦设置了它,所有使用浏览器的用户都将获得更新状态


如果站点中有用户跟踪,则可能必须使用服务器端持久化来存储与当前用户相关的状态

您需要将这些元素的状态持久化到某个位置,否则就不可能

要持久化状态,需要确定是使用客户端存储还是服务器端持久化

如果您只想在浏览器中存储数据,那么您可以考虑使用cookie或html5 localStorage,但缺点是一旦设置了它,所有使用浏览器的用户都将获得更新状态


如果您在站点中有用户跟踪,那么您可能必须使用服务器端持久性来存储与当前用户相关的状态

如果您正在寻找一个具体的例子来说明如何做到这一点,这可能会奏效。 首先,使用以下JavaScript库:

然后,这将是您的脚本:

var backgroundColor = $.cookie('backgroundColor'), color = $.cookie('color');
$('#div01').css('background', backgroundColor);
$('#div01').css('color', color);

$('#btnBlue').click(function () {
    $.cookie(backgroundColor, '#0000ff');
    $.cookie(color, '#ffffff');
    $('#div01').css('background', backgroundColor);
    $('#div01').css('color', color);
});

$('#btnRed').click(function () {
    $.cookie(backgroundColor, '#ff0000');
    $.cookie(color, '#0000ff');
    $('#div01').css('background', backgroundColor);
    $('#div01').css('color', color);
});

如果您正在寻找一个具体的例子来说明如何做到这一点,这可能会奏效。 首先,使用以下JavaScript库:

然后,这将是您的脚本:

var backgroundColor = $.cookie('backgroundColor'), color = $.cookie('color');
$('#div01').css('background', backgroundColor);
$('#div01').css('color', color);

$('#btnBlue').click(function () {
    $.cookie(backgroundColor, '#0000ff');
    $.cookie(color, '#ffffff');
    $('#div01').css('background', backgroundColor);
    $('#div01').css('color', color);
});

$('#btnRed').click(function () {
    $.cookie(backgroundColor, '#ff0000');
    $.cookie(color, '#0000ff');
    $('#div01').css('background', backgroundColor);
    $('#div01').css('color', color);
});


曲奇有什么原因不可以吗?@JNF可能原因是-用户可以删除cookies(例如重新安装操作系统)并在我的网站上取消颜色设置。他可以,但这通常被认为是可以接受的风险。在狗的一生中,用户只需重新安装一次操作系统,用户就会明白重新配置一些东西的必要性。@JNF,在当时,我认为你是对的。谢谢,饼干?有什么原因不可以吗?@JNF可能原因是-用户可以删除cookies(例如重新安装操作系统)并在我的网站上取消颜色设置。他可以,但这通常被认为是可以接受的风险。在狗的一生中,用户只需重新安装一次操作系统,用户就会明白重新配置一些东西的必要性。@JNF,在当时,我认为你是对的。谢谢。阿伦,我更愿意把设置存储在服务器端。这是否意味着我必须拥有一个数据库?@SunSky是的,你必须在服务器中使用某种存储。。。不一定是一个RDBMS@SunSky但是你的网站上有用户跟踪功能吗?当然,你应该有一些存储功能,可以是文本文件或数据库,也可以是位于永久内存@SunSkyArun上的任何东西,不,我没有用户跟踪功能运行,我更愿意将设置存储在服务器端。这是否意味着我必须拥有一个数据库?@SunSky是的,你必须在服务器中使用某种存储。。。不一定是一个RDBMS@SunSky但是你的网站上有用户跟踪功能吗?很明显,你应该有一些存储功能,可以是文本文件或数据库,也可以是永久内存@SunSkyArun上的任何东西,不,我没有用户跟踪功能,非常感谢你的链接,尤其是代码示例。我试试看。听起来是个解决方案。Campari,非常感谢您的链接,尤其是代码示例。我试试看。听起来是个解决办法。