JS倒计时(无视页面刷新)使用localStorage

<html>
<head>
<title>JS倒计时(无视页面刷新)使用localStorage</title><style>
.disabled {background: #fff;color: #ccc;border: solid 0px;
}
.disabled:hover {background:none;color: #ccc;
}
</style>
</head>
<body><input type="tel" placeholder="请输入手机号" name="Phone">
<a class="fasong" id="btnSend" style="cursor:pointer;">发送验证码</a>
</body><script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script language="javascript">$(function () {//点击发送验证码$('body').on('click', '#btnSend', function () {$('body').off('click', '#btnSend');LockButton('#btnSend', 60);})//读取localStoragevar djsendtime = localStorage.getItem("djsendtime");if (djsendtime != undefined && !isNaN(djsendtime)) {  var now = new Date().getTime();  //当前时间戳var locksecends = parseInt((djsendtime - now) / 1000);if (locksecends <= 0) {localStorage.removeItem("djsendtime", null);} else {LockButton('#btnSend', locksecends);}}})// 按钮倒计时
var LockButton = function (btnObjId, locksecends) {//1.获取当前系统时间//2.获取 locksecends 后的系统时间//3.用 localStorage 保存到期时间//4.每次加载后获取 localStorage中保存的时间//5.用到期时间减去当前时间获取倒计时var djsendtime = localStorage.getItem("djsendtime")if (djsendtime == null || djsendtime == undefined || djsendtime == 'undefined' || djsendtime == 'null') {var now = new Date().getTime();  //当前时间戳var endtime = locksecends * 1000 + now;  //结束时间戳localStorage.setItem("djsendtime", endtime); //将结束时间保存到cookie}$(btnObjId).addClass('disabled').attr('disabled', 'disabled').text('(' + locksecends + ')秒后重新获取');$('body').off('click', '#btnSendSMS');var timer = setInterval(function () {locksecends--;$(btnObjId).text('(' + locksecends + ')秒后重新获取');if (locksecends <= 0) {//倒计时结束清除 localStorage值localStorage.removeItem("djsendtime", null);$(btnObjId).removeClass('disabled').removeAttr('disabled').text('重新获取');$('body').on('click', btnObjId);clearInterval(timer);}}, 1000);
};
</script></html>

js倒计时刷新页面不受影响相关推荐

  1. VUE倒计时刷新页面不影响

    前端 强制性JS倒计时关闭浏览器(刷新页面也存在)也会存在的倒计时* VUE 倒计时刷新页面也存在 (持续更新) 不多BB 直接上代码 活用 localStorage 机制 (VUE+webpack版 ...

  2. 页面的div中有滚动条,js实现刷新页面后回到记录时滚动条的位置

    当div中绑定数据,给它一个属性overflow-y: scroll,添加长度大小,使其能够出现滚动条:每次刷新的时候滚动条总是会出现在最上方,这使我很头疼,经过查阅网上资料,返现两种方法可行.如下: ...

  3. javascript(js)自动刷新页面的实现方法总结

    自动刷新页面的实现方法总结: 1) <meta http-equiv="refresh"content="10;url=跳转的页面"> 10表示间隔 ...

  4. js实现刷新页面的方法

     js 刷新当前页面的方法: reload() 方法; replace() 方法; 页面自动刷新; window.history.go(0) document.execCommand(''Refres ...

  5. java中刷新js函数,js常用刷新页面方法汇总

    如何实现刷新当前页面呢?借助js你将无所不能. 1,reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet]) 参数: bForceGet, 可选 ...

  6. java页面强制刷新,JS关于刷新页面的相关总结

    很多程序员无论是新手还是老的程序员都避免不了关于JS刷新页面的相关内容,在本文中我们整理了脚本之家总结的关于JS页面刷新的相关重要知识点文章,一起来跟着学习下. reload 方法,该方法强迫浏览器刷 ...

  7. 如何用JS局部刷新页面指定元素

    刷新页内指定元素 window.location.reload("#id")

  8. php js页面刷新,JS刷新页面方法总结

    这次给大家带来JS刷新页面方法总结,JS刷新页面的注意事项有哪些,下面就是实战案例,一起来看一下. JS刷新当前页面的几种方法总结reload 方法,该方法强迫浏览器刷新当前页面 replace 方法 ...

  9. 刷新页面保留input所填的值_页面刷新时保留input键入值

    转自:http://unbounder.iteye.com/blog/459183 一般来说,页面刷新时不保留input键入值的需要比较多,但是也有例外,譬如咱这次就遇上需要保留input键入值. 在 ...

最新文章

  1. Dynamips与VMware配合搭建网络实验环境
  2. HDU 1426 Sudoku Killer【DFS 数独】
  3. kafka模拟生产-消费者以及自定义分区
  4. 《Drupal实战》——2.5 使用Node clone快速添加测试数据
  5. 将 instance 连接到 vlan100- 每天5分钟玩转 OpenStack(95)
  6. 解决ORA-21561: OID generation failed
  7. webstorage html5,HTML5-WebStorageAPIs的简述
  8. PCB中 D-Subminiature(DB接口) 连接器系列分类及带有3D封装绘制
  9. ctfmon是什么启动项_Win7启动项找不到ctfmon进程无法正常使用输入法的解决方法...
  10. WPF界面框架的设计
  11. DGIOT物联网开源平台——腾讯云轻量应用服务器部署
  12. 微信公众平台、微信开放平台、微信商户平台的区别
  13. 用户标签的集合——用户画像及其应用
  14. 云计算储存基础(3)
  15. 网易微专业python爬虫工程师一期多久_有木有人上过网易云课堂的 Python Web 微专业,怎么样?...
  16. 005永磁同步电机的数学模型:写了很久,非常适合零基础的同学学习参考
  17. crontab:设置计时器
  18. 如何兼容IE4:Web浏览器兼容性浅谈
  19. 360的流量监控还是不错的,
  20. 数字信号载波传输的Matlab仿真

热门文章

  1. 用Python实现文本内容生成二维码
  2. 一毕业就被抢光的​高薪专业,竟然是这些!
  3. android as修改版本号,麻烦大大们别水了,帮我修改个版本号可好
  4. 云储存技术的应用与用到的技术
  5. HTTP 协议相关入门
  6. 【秒懂音视频开发】07_重识音频
  7. 谷歌三大论文之the Google File System
  8. 1个钟是多久_一个番茄钟要多长时间
  9. java加密算法之AES篇
  10. 模块化高扩展性的前端框架 KISSY