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 相关文章推荐
Google排名中的10个最著名的 JavaScript库
Apr 27 Javascript
javascript下string.format函数补充
Aug 24 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
Aug 01 Javascript
js跑步算法的实现代码
Dec 04 Javascript
将list转换为json失败的原因
Dec 17 Javascript
javascript运算符语法全面概述
Jul 14 Javascript
js实现城市级联菜单的2种方法
Jun 23 Javascript
vue中七牛插件使用的实例代码
Jul 28 Javascript
利用JS hash制作单页Web应用的方法详解
Oct 10 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
Oct 20 Javascript
微信小程序实现购物车代码实例详解
Aug 29 Javascript
vue 解决IOS10低版本白屏的问题
Nov 17 Javascript
如何在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实现多级树型菜单
2006/10/09 PHP
PHP与SQL注入攻击防范小技巧
2011/09/16 PHP
ThinkPHP之getField详解
2014/06/20 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
基于jQuery的js分页代码
2010/06/10 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
小程序实现列表点赞功能
2018/11/02 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
Python实现的简单万年历例子分享
2014/04/25 Python
python中使用序列的方法
2015/08/03 Python
Django中使用celery完成异步任务的示例代码
2018/01/23 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
python实现FTP循环上传文件
2020/03/20 Python
高中同学聚会邀请函
2014/01/11 职场文书
保险专业大学生职业规划书
2014/03/03 职场文书
软件项目实施计划书
2014/05/02 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
个人授权委托书范文
2014/09/21 职场文书
高中物理教学反思
2016/02/19 职场文书
浅谈redis缓存在项目中的使用
2021/05/20 Redis