Jquery 页面刷新后如何保持Cookie值
我正在创建一个演示面板,供用户在到达我的演示站点时更改Wordpress主题的布局。用户通过选择下拉框更改值,此时将设置cookie 刷新页面后,我无法显示要实现的操作。因此cookie正在保存它的值,但在页面刷新之后,我的CSS操作将不会保持不变。我对jQuery不是很在行,所以任何帮助都将不胜感激。代码如下:Jquery 页面刷新后如何保持Cookie值,jquery,cookies,Jquery,Cookies,我正在创建一个演示面板,供用户在到达我的演示站点时更改Wordpress主题的布局。用户通过选择下拉框更改值,此时将设置cookie 刷新页面后,我无法显示要实现的操作。因此cookie正在保存它的值,但在页面刷新之后,我的CSS操作将不会保持不变。我对jQuery不是很在行,所以任何帮助都将不胜感激。代码如下: $('#montage-demo-panel select.body-style-layout').change(function () { // Apply coo
$('#montage-demo-panel select.body-style-layout').change(function () {
// Apply cookie
$.cookie('body-style-layout', $(this).val(), { path: '/' });
var value = $(this).val();
if (value == 'fixed') {
var wrapper = $('#wrapper');
var header = $('#header');
var masthead = $('#masthead');
var branding = $('#branding');
wrapper.removeAttr('style');
header.removeAttr('style');
masthead.removeAttr('style');
branding.removeAttr('style');
wrapper.removeClass('wrapper-full purple-header-full');
header.removeClass('header-full');
masthead.removeClass('masthead-full');
branding.removeClass('branding-full');
location.reload();
} else {
var wrapper = $('#wrapper');
var header = $('#header');
var masthead = $('#masthead');
var branding = $('#branding');
var mainbg = $('#main-bg');
var access = $('#access');
wrapper.removeClass('purple-header');
wrapper.addClass('wrapper-full purple-header-full');
header.addClass('header-full');
masthead.addClass('masthead-full');
branding.addClass('branding-full');
mainbg.addClass('main-bg-full');
access.addClass('access-full');
// Re-fresh page
location.reload();
}
});
。。。如果您只是在
change()上应用样式代码>事件,绝对不会影响页面刷新。我建议每次刷新页面时检查cookie值,如:
$(function(){
var cookieval = $.cookie('cookie-key');
if (cookieval === 'something'){
//here implement style according to 'something'
} else {
//here implement another style
}
});
祝你好运
更新:
将代码放在页面上方的任意位置李>
只需设置cookie并在选择更改时重新加载;比如:
$('#montage-demo-panel select.body-style-layout').change(function () {
$.cookie('body-style-layout', $(this).val(), { path: '/' });
location.reload();
}
完成了
你确定页面刷新后cookie值不再存在吗?很抱歉,我不清楚-cookie值仍然存在-但是CSS值没有保留-就像我刷新页面,它恢复为原始值一样。但是实际的cookie值本身保持不变。您是否通过在change()
事件中删除添加类来实现该样式?是的,我认为这就是我正在做的,但这是错误的吗?我不知道如何获得所需的操作。我创建了一个答案:)。Charlie,我如何调用select.body style
并用您的答案实现它?我不知道该怎么做。太棒了,查尔斯!这花了一段时间,但终于奏效了。非常感谢!恭喜。很高兴你能帮忙!:)