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