所以我一直在为2个不同的本地存储应用程序工作,我已经给了我一个任务。一个是todo列表,另一个是在同一个html文件上工作的笔记。使用2个html5本地存储应用程序问题
现在,todo列表有3个localstrorage密钥。一个是待办事项的价值。第二个是待办事项的顺序(第一,第三,第三等),第三个是你通常有多少待办事项。这就是3个不同的值。
对于笔记是1本地存储键所有的值。 (见下图)
现在的问题是:举例来说,如果我有3个音符,然后我添加了一个待办事项我得到这个在localStorage的:
此工作正常。
但是,如果我再添两个音符,我得到这个:
这是合乎逻辑虽然最后两个音符不显示。
又如:
这将不显示任何注释虽然有4
我不知道该如何解释这一点,但基本上发生的事情是什么都写在todo-ID之后的本地存储中,不显示但注意到todoList保持完美。
我不是很确定问题是什么,但我认为它可能是它的钥匙被加载的方式。也许 ???
因此,这里是我如何加载注释:
var initStickies = function initStickies() {
$("<div />", {
text : "+",
"class" : "add-sticky",
click : function() { createSticky(); }
}).prependTo(document.body);
initStickies = null;
},
openStickies = function openStickies() {
initStickies && initStickies();
for (var i = 0; i < localStorage.length; i++) {
createSticky(JSON.parse(localStorage.getItem(localStorage.key(i))));
}
}
,这是我如何加载待办事项列表:
orderList = localStorage.getItem('todo-orders');
orderList = orderList ? orderList.split(',') : [];
for(j = 0, k = orderList.length; j < k; j++) {
$itemList.append(
"<li id='" + orderList[j] + "'>"
+ "<span class='editable'>"
+ localStorage.getItem(orderList[j])
+ "</span> <a href='#'>X</a></li>"
);
}
问题可能是什么?有没有人有过这个问题?
非常感谢大家的阅读和抱歉。我想尽可能清楚。我一直在考虑如何解决这个问题很长一段时间,即将走向死路。希望可以有人帮帮我。再次感谢
这似乎是伟大的工作。我得到的唯一问题是,它会自动创建一个没有标识但没有内容的便签。它只是模板。检查这个图像:http://i51.tinypic.com/xf2jo8.jpg。你知道它会是什么吗? – jQuerybeast
你可以尝试将你的代码行分成两行:var json = JSON.parse(...); createSticky(JSON);'。然后你可以在它们之间放置一个'console.log(json)'来查看json是否正确。如果它是正确的,那么问题出现在'createSticky'里面。 –