我正在开发一个计数器应用程序,它使用 mustache.js 创建多个计数器并使用本地存储记住您的数据。您只需单击“+”按钮添加一个新计数器,然后单击添加按钮来增加计数器。
我有几个问题: - 添加并有多个计数器时,它们都会增加。- 当我点击关闭按钮时,计数器也会增加。
是否也可以通过输入字段输入标题并让本地存储记住它?
任何帮助将不胜感激。如果你有任何解决方案,你能解释一下吗?
在这里查看小提琴:http: //jsfiddle.net/techydude/MSnuE/
Javascript:
$(function() {
var doc = $(document),
CounterContainer = $("#CounterContainer"),
//Container for all Counters
container = $(".counter"),
//Individual Conter Counters
counter = $(".valueCount"),
addBtn = $(".add"),
valueCount = $(".valueCount").html(),
addCounter = $("#create-counter"),
counterTemplate = Mustache.compile($("#counter-template").html());
if (localStorage.counterSave) {
CounterContainer.html(localStorage.counterSave);
}
function save() {
localStorage.counterSave = CounterContainer.html();
}
addCounter.submit(function(e) {
// prevent page from refresing
e.preventDefault();
var value = 5;
makeCounter(value);
save();
});
function makeCounter(value) {
$(counterTemplate({
txt: value
})).appendTo(CounterContainer);
}
CounterContainer.on("click", addBtn, function(valueCount) {
var EachContainer = $("div.valueCount"),
EachContainerValue = $("div.valueCount").html();
EachContainer.html(++EachContainerValue);
console.log("test");
save();
});
doc.on("click", "button.removeCounter", function() {
$(this).parent().remove();
save();
});
});