【发布时间】:2013-04-20 03:05:05
【问题描述】:
我正在创建一个演示面板,供用户在访问我的演示站点时更改 Wordpress 主题的布局。用户通过选择下拉框更改值,此时设置了 cookie。
我无法在页面刷新后显示我想要执行的操作。所以 cookie 保存了它的价值,但是在页面刷新后,我的 CSS 操作不会保留在原地。我对 jQuery 不是很好,所以任何帮助都将不胜感激。代码如下:
$('#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();
}
});
【问题讨论】:
-
你确定页面刷新后cookie值不存在了吗?
-
我很抱歉不清楚 - cookie 值确实保留了 - 但 CSS 值没有保持原位 - 就像我刷新页面并恢复到原始值一样。但实际的 cookie 值本身保持不变。
-
您是否通过在
change()事件中删除-添加类来实现样式?? -
是的,我认为这就是我正在做的事情,但这是错的吗?我不知道如何获得我想要的操作。
-
我创建了一个答案:)。