1

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

我正在使用 jQueryclick()函数来更改颜色,并将更改保存在服务器端我想最好的方法是使用 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');
});
4

2 回答 2

4

您需要在某处保留这些元素的状态,否则这是不可能的。

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

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

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

于 2013-07-24T06:32:58.527 回答
1

如果您正在寻找有关如何执行此操作的具体示例,这可能会奏效。首先,使用这个 JavaScript 库:https ://github.com/carhartl/jquery-cookie 。

然后,这将是您的脚本:

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);
});
于 2013-07-24T06:42:52.813 回答