zoukankan      html  css  js  c++  java
  • localstorge实现本地存储

    这个是我个人生活中的一个小小的案例,由于我最近在找工作,投的简历多了,就很容易弄混淆,我就弄了这个个小东西。

    最开始没有实现本地存储的功能的,只是当作一个闭包的案例,具体看这里,但是这样子,一刷新,就会消失不见了,所以我就加入了一个本地存储的功能

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <form>
            <input type="text" name="" id="text">
            <input type="submit" name="" value="添加" id="button">
        </form>
        <ol id="box">
        </ol>
        <script type="text/javascript">
        // 获取页面元素
         function GetId(id) {
            return document.getElementById(id)
        }
        var button = GetId("button")
        var text = GetId("text")
    
        function getLocalStorage (){
            var hasPay_ArrayList = localStorage.getItem("isPayLocal")==""||localStorage.getItem("isPayLocal")=="null"||localStorage.getItem("isPayLocal")==null?[]:localStorage.getItem("isPayLocal").split(","),
                value = text.value
                console.log(hasPay_ArrayList)
            if(hasPay_ArrayList.length){
                for (var i = hasPay_ArrayList.length - 1; i >= 0; i--) {
                var li = document.createElement('li')
                li.innerHTML = hasPay_ArrayList[i] + '<br>'
                var box = GetId("box")
                box.appendChild(li)
                }
            }
    
        }
        getLocalStorage()
    button.addEventListener(
    'click', function(e) { e.preventDefault() // 获取浏览器本地localStorage,可能是null,可能是“” var hasPay_ArrayList = (localStorage.getItem("isPayLocal")==""||localStorage.getItem("isPayLocal")=="null"||localStorage.getItem("isPayLocal")==null)?[]:localStorage.getItem("isPayLocal").split(",") console.log(hasPay_ArrayList) console.log(localStorage.getItem("isPayLocal")) var value = text.value; var isLive = hasPay_ArrayList.indexOf(value)>=0?true:false; console.log(isLive) if (value && !isLive) { var li = document.createElement('li') li.innerHTML = value + '<br>' var box = GetId("box") box.appendChild(li) text.value = '' var refreshLocalstorage = hasPay_ArrayList.push(value) localStorage.setItem("isPayLocal",hasPay_ArrayList) console.log(hasPay_ArrayList) console.log(localStorage.setItem("isPayLocal",hasPay_ArrayList)) } else if (value&&isLive) { alert("已经投递") }else{ alert("输入不能为空") } text.value='' }) </script> </body> </html>

    当然了,既然是完善功能,那么原来的功能也就是不能发生变化的,这个检查是否已经投递的功能还在,这个新增加的存储功能,也是非常的简单的,当然还是可以自己去改变,多多的添加一些新的功能,让这个例子更加的完善,但是我目前就做了这么些的东西。出具雏形,以后再慢慢的添砖加瓦吧

  • 相关阅读:
    Oracle 删除重复数据的几种方法
    12.25模拟赛T3
    java实现第五届蓝桥杯圆周率
    java实现第五届蓝桥杯武功秘籍
    Oracle 审计初步使用
    [CERC2017]Intrinsic Interval——扫描线+转化思想+线段树
    ORA-12012 Error on auto execute of job "SYS"."ORA$AT_OS_OPT_SY_<NN> in 12.2.0 Database
    12.25模拟赛T2
    java实现第五届蓝桥杯写日志
    java实现第五届蓝桥杯李白打酒
  • 原文地址:https://www.cnblogs.com/yiyistar/p/7499473.html
Copyright © 2011-2022 走看看