【发布时间】:2014-01-09 03:43:54
【问题描述】:
我使用 jquery.cookie 来存储我的客户端应用程序 cookie,其中一些 cookie 包含 JSON。
这是我目前的脚本
trigger.on('click touchend', function () {
var StoredSettings = $.cookie('qlToggled'),
isToggled = 0,
offset = -300,
endpoint = 15,
triggerX = $('#leftcolumn').offset().left + $('#leftcolumn').width();
if (typeof StoredSettings !== 'undefined') {
isToggled = StoredSettings.toggled;
offset = StoredSettings.cOffset;
endpoint = StoredSettings.cEndpoint;
triggerX = StoredSettings.cTriggerX;
}
if (isToggled == '1') {
offset = 0;
endpoint = 315;
triggerX = $('#leftcolumn').width();
var cookieValues = { toggled: '0', cOffset: offset, cEndpoint: endpoint, cTriggerX: triggerX };
$.cookie('qlToggled', JSON.stringify(cookieValues), { expires: 365, path: '/', json: true });
}
else {
var cookieValues = { toggled: '1', cOffset: offset, cEndpoint: endpoint, cTriggerX: triggerX };
$.cookie('qlToggled', JSON.stringify(cookieValues), { expires: 365, path: '/', json: true });
}
$('#leftcolumn').animate({ 'left': offset }, speeding);
$('#content').animate({ 'margin-left': endpoint }, speeding);
trigger.animate({ 'left': triggerX }, speeding);
});
我使用 FireBug 查看保存了哪些 cookie,并成功创建了在上述脚本中创建的 cookie,我尝试使用 $.each(object, function(i ,e)) 迭代这些值以查看是否有任何结果。
我宁愿不必遍历这些值,而只使用在第一个 if 语句中看到的可链接代码。
我错过了什么/做错了什么?
【问题讨论】:
-
尝试将此 var StoredSettings = $.cookie('qlToggled') 更改为 var StoredSettings = JSON.parse($.cookie('qlToggled'))
-
@MelanciaUK 解决了。发布为答案,我会标记它。
-
已发布。很高兴我能帮上忙。
标签: javascript jquery json cookies