当前位置:网站首页>节流阀和本地存储
节流阀和本地存储
2022-08-02 03:35:00 【呦呦鹿鸣[email protected]】
节流阀
防止轮播图按钮连续点击造成播放过快。
节流阀目的:当上一个函数动画内容执行完毕,再去执行下一个函数动画,让事件无法连续触发。
核心实现思路:利用回调函数,添加一个变量来控制,锁住函数和解锁函数。
//开始设置一个变量
var flag = true;
if( flag) {
flag = false;
do something
} //关闭
flag = true; //打开
//利用回调函数 动画执行完毕,flag = true
点击圆圈 是不是有个动画
再点击圆圈 是不是有个动画
自动切换 是不是又是一个动画
那么这些动画再同时执行时 可能会出问题
怎么解决? -> 一个动画执行完 再去执行另外一个动画
flag = true;
a动画
if(flag){这里面再执行动画
flag = false
move(a,b,function(){
flag = true 函数执行完后将flag改成true
})这是个动画
}
b动画
if(flag){是true时执行动画
flag = false
move(a,b,function(){
flag = true 函数执行完后将flag改成true
})
这是个动画
}
本地存储
随着互联网的快速发展,基于网页的应用越来越普遍,同时也变得越来越复杂,为了满足WEB网络各种各样的需求,会经常性在本地存储大量的数据,HTML5规范提出了相关解决方案。
本地存储特性:
- 数据存储在用户浏览器中
- 设置、读取方便,甚至页面刷新不丢失数据
- 容量较大,sessionStorage约5M、localStorage约20M
- 只能存储字符串,可以将对象JSON.stringify()编码后存储
1、window.sessionStorage
sessionStorage定义的数据在同一个窗口下可以共享,关闭浏览器数据会消失,存储方式以键值对的形式存储使用
设置数据:sessionStorage.setItem(key,value)
获取数据:sessionStorage.getItem(key)
删除数据:sessionStorage.removeItem(key)
清空数据:sessionStorage.clear()
2、window.localStorage
1、声明周期永久生效,除非手动删除 否则关闭页面也会存在
2、可以多窗口(页面)共享(同一浏览器可以共享)
3. 以键值对的形式存储使用
设置数据:localStorage.setItem(key,value)
获取数据:localStorage.getItem(key)
删除数据:localStorage.removeItem(key)
清除所有数据:localStorage.clear()
案例:存储用户名
分析:
- 把数据存起来,用到本地存储
- 关闭页面,可以显示用户名,用localStroage
- 打开页面,先判断是否有这个用户名,有则在表单中显示并勾选复选框
- 当复选框方式变化时change事件
- 如果勾选就存储,否则就移除
<input type="text" id="username">
<input type="checkbox" name="" id="rname">记住用户名
<script>
var username=document.querySelector('#username');
var rname=document.querySelector('#rname');
if(localStorage.getItem('username')){
username.value=localStorage.getItem('username');
rname.checked=true;
}
rname.addEventListener('change',function(){
if(this.checked){
localStorage.setItem('username',username.value);
}else{
localStorage.removeItem('username');
}
})
</script>
版权声明
本文为[呦呦鹿鸣[email protected]]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_53841687/article/details/125639999
边栏推荐
猜你喜欢
随机推荐
携手推进国产化发展,未来智安与麒麟软件完成兼容互认证
拖动元素边缘改变宽度
【LeetCode】Add the linked list with carry
位居榜首 | 未来智安荣登CCIA「2022年中国网安产业潜力之星」榜单
g++编译添加头文件路径,设置库路径,包路径,找文件
unity学习(五):Excel表格读取和数据类生成
剑指Offer 64.求1+2+...+n 递归+&&
微服务入门
【LeetCode】Merge
onvif/rtsp转gb28181协议,无缝对接国标平台
Class ‘PHPWord_Writer_Word2003‘ not found
未来智安XDR入选《CCSIP 2022中国网络安全产业全景图》
Process (in): process state, process address space
树莓派4B安装OPENCV遇到ffmpeg库版本太高的问题【后续更新】
Gartner 权威预测未来4年网络安全的8大发展趋势
BCS演讲实录 | 未来智安CTO陈毓端精讲《XDR扩展威胁检测响应探索与实践》
未来智安创始人兼CEO唐伽佳荣膺36氪X·36Under36 “S级创业者”
【Connect the heart rate sensor to Arduino to read the heart rate data】
初识云原生安全:云时代的最佳保障
el-select和el-tree结合使用-树形结构多选框