我有一个点标记应用程序。 工作原理如下:每次点击按钮我都保存了时间戳, 你只能拨打四次(这已经完成)。 我需要在" localStorage"中保存四个时间戳。并保留这些标记而不会过期,另一天制作并在前一天的标记下方显示新标记。
function getTime() {
document.querySelector("button").setAttribute("onclick", "popupAlert()");
var storedNames = JSON.parse(localStorage.getItem("names"));
var data = new Date();
var full_time = data.getHours() + ":" + data.getMinutes() + ":" +
data.getSeconds();
var completeDate = full_time;
localStorage.setItem('completeDate', completeDate);
document.getElementById("markTimes").insertAdjacentHTML('beforeend',
'<span class="dataTime" id="dataTimeStl">' + completeDate + ' </span>');
var qtd = document.getElementsByClassName("dataTime").length;
if (qtd < 4) {
setTimeout(function() {
document.querySelector("button").setAttribute("onclick", "getTime()");
}, 3000);
} else {
document.querySelector("button").disabled = true;
console.log("fim");
}
}
&#13;
<button onclick="getTime()">Marcar</button>
<div id="markTimes"></div>
&#13;
答案 0 :(得分:1)
您需要存储一个数组:
所以代替你的行
localStorage.setItem('completeDate', completeDate);
执行以下操作:
const savedDates = localStorage.getItem('completeDate')
let dates
if (savedDates) {
dates = JSON.parse(savedDates)
dates.push(completeDate)
} else {
dates = [completeDate]
}
localStorage.setItem('completeDate', JSON.stringify(dates))
它将在数组中添加项目并将其保存回来。 不幸的是,您需要为localStorage
解析,修改和字符串化数据