刷新并单击按钮后,LocalStorage数据将被清除

时间:2017-01-05 18:04:23

标签: javascript local-storage

我创建了一个雇员数组对象,它由4个数组组成。我点击开始按钮后每2秒尝试添加一个新数组。我希望它以第8名结束。这里的一切都很好。

但是,如果我刷新页面并单击开始按钮,它将从头开始。为什么单击开始按钮是清除localStorage数据?

demo URL

我的代码看起来很大但是很小的东西。 逐步解释代码。

1)首先,我创建了Employees数组。

2)将数据推送到员工阵列。

3)localStorage SetItem

4)获取物品

5)onclick getitems以记录setinterval。

6)如果员工的长度为8

则停止

我希望它有所帮助。

将setItems设置为localstorage并获取

的JS代码
function set_and_increase_localstorage_data(){
    employees.push(employees[3]);
    update_array();
    localStorage.setItem("empData", JSON.stringify(employees));
    var len = employees.length;
    console.log(len)
    if(len===8 || len>=8){
        window.clearInterval(setInt);
    }   

    getEmpdata();


}
function getEmpdata(){

    myJsonData = localStorage.getItem("empData");
    if(myJsonData){
        var myData = JSON.parse(myJsonData);
        var oblen = myData.length;
        console.log("JS object stored in localstorage: " + oblen);

        //setItem to localstorage
        if(myJsonData){
            // JSON data into javascript object
            var output = "<div class='wrapper'>";
            for(var i=4;i<myData.length;i++){
                output += "<div class='item'>" + myData[i].name + "</div>";
            }
            output += "</div>";
        }

        document.getElementById('json_data').innerHTML = output;

    }
}

1 个答案:

答案 0 :(得分:1)

加载页面时,用于写入employees的{​​{1}}变量始终会加载新数据 - 您永远不会将本地存储中的数据读回localStorage