Effect:
Demo:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>储存背景颜色到本地</title> <style> .pink { background-color: pink; } .skyblue { background-color: skyblue; } </style> </head> <body> <button class="btn1">按钮1</button> <button class="btn2">按钮2</button> </body> </html> <script> //1.0 原生js,获取按钮 var btn1 = document.querySelector('.btn1'); var btn2 = document.querySelector('.btn2'); //3.0获取本地仓库中localColor的值,没有就不作改变 var getLocalColor = window.localStorage.getItem("localColor") if(getLocalColor){ document.body.className = getLocalColor; }else{ } //2.0 当用户点击第一个按钮 btn1.onclick = function(){ //body添加pink类名,背景就会变粉色 document.body.className = "pink"; //把粉色存储到本地仓库 window.localStorage.setItem('localColor','pink'); } //2.1 当用户点击第二个按钮 btn2.onclick = function(){ //body添加pink类名,背景就会变天蓝色 document.body.className = "skyblue"; //把蓝色存储到本地仓库 window.localStorage.setItem('localColor','skyblue'); } </script>
代码的步骤3.0和2.0可以调换,按照程序执行顺序先3.0再2.0比较合理;
但是敲代码的思路是从2.0到3.0的,望周知;
web 本地存储 (localStorage、sessionStorage)
区别:
对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大,它包含两种:localStorage 和 sessionStorage
sessionStorage(临时存储) :为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载
localStorage(长期存储) :与 sessionStorage 一样,但是浏览器关闭后,数据依然会一直存在
Api:
sessionStorage 和 localStorage 的用法基本一致,引用类型的值要转换成JSON