정보 (시험 정보)가 배열에 저장되고 localstorage를 사용하여 다른 js로 전달되는 모듈을 만듭니다. 내가 얻는 문제는 이전 시험이 .push를 사용하고 있어도 항상 덮어 씁니다. 모든 변수는 다른 곳에서 정의됩니다. 도와 주셔서 감사합니다. 그렇지 않으면 항상 & 이전에 저장 한 새로운 배열 될 것배열에 객체를 푸시 할 때 발생하는 문제 CSS | JS | HTML
recentexamdb = []
document.getElementById("button1").onclick = function() {
window.scrollTo(0, 0);
document.getElementById("maindiv").style.visibility = "hidden";
document.getElementById("buttondiv").style.visibility = "hidden";
document.getElementById("countdown").style.visibility= "visible";
var yearinput = document.getElementById("yearinput").value;
var minuteinput = document.getElementById("minuteinput").value;
var hourinput = document.getElementById("hourinput").value;
var secondinput = document.getElementById("secondinput").value;
var twentyminutes = new Audio('20mins.mp3');
var tenminutes = new Audio('10mins.mp3');
var fiveminutes = new Audio('5mins.mp3');
var timesup = new Audio('timesup.mp3');
var firstalert = document.getElementById("firstalertinput").value;
var secondalert = document.getElementById("secondalertinput").value;
var thirdalert = document.getElementById("thirdalertinput").value;
var readingalert = document.getElementById("readingalertinput").value;
var timetotal = (Number(hourinput)*60) + Number(minuteinput)
enddate = (new Date().getTime()) + (minuteinput*60000) +(secondinput*1000) + (hourinput*3600000);
var examtypeinput = document.getElementById("examtypeinput").value;
var hours=0;
var minutes=0;
var seconds=0;
var countdown = document.getElementById("countdown");
var examtype = document.getElementById("examtype");
setInterval(function() {
var currentdate = new Date().getTime();
var secondsleft = (enddate - currentdate)/1000;
// do some time calculations
hours = parseInt(secondsleft/3600);
secondsleft = secondsleft % 3600;
minutes = parseInt(secondsleft/60);
seconds = parseInt(secondsleft % 60);
if (hours == 0 && minutes == 0 && seconds == 0) {
document.getElementById("countdowndiv").style.fontFamily = "Helvetica Neue, Arial, sans-serif"
document.getElementById("countdowndiv").style.fontSize = "100%"
countdown.innerHTML = "Time is up! Pens down and wait for further instruction"
examtype.innerHTML = "If you continue to write, marks may be deducted"
var readingtimenow = "No reading time selected"
var timetotalnow = ((hours * 60) + minutes)
var examinfoobject = {
year: yearinput,
examtime: timetotalnow,
timeofexam: Date(),
examtype: examtypeinput,
readingtime: readingtimenow
}
recentexamdb.push(examinfoobject)
console.log(recentexamdb)
localStorage.setItem("storedexamdb", JSON.stringify(recentexamdb))
}
}, 1000);
}
전체 관련 코드를 제공해주십시오. –
recentexamdb를 배열로 선언 했습니까? – rrd
나머지 코드 – maxphat