省市区三级联动
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<select name="" id="province">
</select>
<select name="" id="city">
</select>
<select name="" id="area">
</select>
<script src="machine.js"></script>
<script src="citys.js"></script>
<script>
let province = $("#province");
let city = $("#city");
let area = $("#area");
citys.forEach(item=>{
let option = document.createElement("option");
option.innerHTML = item.provinceName;
province.appendChild(option)
})
function updateCity(index){
var index = index || 0;
city.innerHTML = "";
citys[index].mallCityList.forEach(item=>{
let option = document.createElement("option");
option.innerHTML = item.cityName;
city.appendChild(option)
})
}
function updateArea(provinceIndex,cityIndex){
area.innerHTML = "";
citys[provinceIndex].mallCityList[cityIndex].mallAreaList.forEach(item=>{
let option = document.createElement("option");
option.innerHTML = item.areaName;
area.appendChild(option)
})
}
updateCity(0)
updateArea(0,0)
province.onchange = function(){
updateCity(this.selectedIndex)
updateArea(this.selectedIndex,city.selectedIndex)
}
city.onchange = function(){
updateArea(province.selectedIndex,this.selectedIndex)
}
</script>
</body>
</html>
本地存储
写cookie
function setCookie(key,value,expires){
if (typeof expires === "number") {
let date = new Date();
date.setDate(date.getDate() + expires)
document.cookie = `${key}=${value};expires=${date}`;
} else {
let d = new Date(expires);
document.cookie = `${key}=${value};expires=${d}`;
}
}
读cookie
function getCookie(key){
let cookie = document.cookie;
let arr = cookie.split("; ");
let result = {}
arr.forEach(item=>{
let key = item.split("=")[0];
let value = item.split("=")[1];
result[key] = value;
})
if(key){
return result[key];
}
return result;
}
删cookie(把储存的到期时间设置成过去的某天)
function removeCookie(key){
let guoqu = new Date("1970-01-01 00:00:00")
if(key){
document.cookie = `${key}=beybey;expires=${guoqu}`
}
else{
let cookie = getCookie();
for(let i in cookie){
document.cookie = `${i}=beybey;expires=${guoqu}`
}
}
}
cookie的写读删封装
let cookie = {
set(key, value, expires) {
if (typeof expires === "number") {
let date = new Date();
date.setDate(date.getDate() + expires)
document.cookie = `${key}=${value};expires=${date}`;
} else {
let d = new Date(expires);
document.cookie = `${key}=${value};expires=${d}`;
}
},
get(key) {
let arr = document.cookie.split("; ")
var result = {}
arr.forEach(item => {
let key = item.split("=")[0];
let value = item.split("=")[1];
result[key] = value;
})
return key ? result[key] : result;
},
remove(key) {
if (this.get(key)) {
document.cookie = key + "=18;expires=" + new Date('1999-09-09');
return true;
} else {
return false;
}
}
}
案例
- 省市区三级联动
- 天气预报接入省市区三级联动(接口yiketianqi.com)
- 30天内免登录页面
- todulist持久化存储