JS基于递归实现倒计时效果的方法


Posted in Javascript onNovember 26, 2016

本文实例讲述了JS基于递归实现倒计时效果的方法。分享给大家供大家参考,具体如下:

效果

JS基于递归实现倒计时效果的方法

事件

//发送验证码
$('.js-sms-code').click(function(){
    $(this).attr("disabled", "disabled").html("<span style='color:#666'><span id='countdown'>60</span>s 后再试</span>");
    countdown();
    var tel = $('#tel').val();
    $.ajax({
      url: "{sh::U('Home/sendSmscode')}",
      type:'POST',
      dataType:"json",
      data: {tel: tel},
      success: function() {
      },
      error: function() {
        $('.js-help-info').html("请求失败");
      }
    });
})

点评:这里的countdown方法就是妙处。

看代码:

function countdown() { // 递归
  setTimeout(function() {
    var time = $("#countdown").text();
    if (time == 1) {
      $('.js-sms-code').removeAttr("disabled");
      $('.js-sms-code').html("发送验证码");
    } else {
      $("#countdown").text(time - 1);
      countdown();
    }
  }, 1000);
}

点评:如果time不等于1,就继续调用,同时时间减去一秒。setTimeout也很精髓。直至time减到1为止,移除disabled并更改内容为‘发送验证码'。

更多关于JavaScript相关内容可查看本站专题:《JavaScript时间与日期操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript DOM 添加事件
Feb 14 Javascript
js控制div及网页相关属性的代码
Dec 19 Javascript
基于jquery的返回顶部效果(兼容IE6)
Jan 17 Javascript
js获取指定的cookie的具体实现
Feb 20 Javascript
浅析tr的隐藏和显示问题
Mar 05 Javascript
js实现页面跳转重定向的几种方式
May 29 Javascript
JS+CSS实现精美的二级导航效果代码
Sep 17 Javascript
js图片跟随鼠标移动代码
Nov 26 Javascript
Knockoutjs 学习系列(二)花式捆绑
Jun 07 Javascript
在小程序开发中使用npm的方法
Oct 17 Javascript
基于JS实现快速读取TXT文件
Aug 25 Javascript
如何基于jQuery实现五角星评分
Sep 02 jQuery
如何在Angular.JS中接收并下载PDF
Nov 26 #Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
Nov 25 #Javascript
AngularJs验证重复密码的方法(两种)
Nov 25 #Javascript
jQuery实现发送验证码并60秒倒计时功能
Nov 25 #Javascript
js document.getElementsByClassName的使用介绍与自定义函数
Nov 25 #Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
Nov 25 #Javascript
JS实现的图片预览插件与用法示例【不上传图片】
Nov 25 #Javascript
You might like
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
2008/11/14 PHP
Php Ctemplate引擎开发相关内容
2012/03/03 PHP
php设计模式小结
2013/02/15 PHP
php中函数前加&amp;符号的作用分解
2014/07/08 PHP
php调用新浪短链接API的方法
2014/11/08 PHP
php实现将Session写入数据库
2015/07/26 PHP
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
Vue.js 事件修饰符的使用教程
2018/11/01 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
js中延迟加载和预加载的具体使用
2021/01/14 Javascript
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
django模型中的字段和model名显示为中文小技巧分享
2014/11/18 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
基于python实现百度翻译功能
2019/05/09 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
希腊品牌鞋类销售网站:epapoutsia.gr
2020/03/18 全球购物
亚马逊海外购:亚马逊美国、英国、日本、德国直邮
2021/03/18 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
合伙协议书范本
2014/04/21 职场文书
健康状况证明模板
2014/10/23 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
个人典型事迹材料
2014/12/30 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
2016春季幼儿园小班开学寄语
2015/12/03 职场文书
详解redis在微服务领域的贡献
2021/10/16 Redis
MySQL 语句执行顺序举例解析
2022/06/05 MySQL