我有一个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');
});
答案 0 :(得分:4)
你需要在某个地方保持这些元素的状态,而不是不可能。
要保持状态,您需要确定是使用客户端存储还是服务器端持久性。
如果您只想在浏览器中存储数据,那么您可以考虑使用cookie或html5 localStorage,但缺点是一旦设置完所有使用浏览器的用户将获得更新状态。
如果您在站点中有用户跟踪,那么您可能必须使用服务器端持久性来存储与当前用户相关的状态
答案 1 :(得分: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);
});