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 相关文章推荐
Prototype Function对象 学习
Jul 12 Javascript
javascript中的prototype属性实例分析说明
Aug 09 Javascript
jQuery Ajax请求状态管理器打包
May 03 Javascript
JS将光标聚焦在文本最后的实现代码
Mar 28 Javascript
代码分析jQuery四种静态方法使用
Jul 23 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
Aug 11 Javascript
微信小程序时间选择插件使用详解
Dec 28 Javascript
ES6 新增的创建数组的方法(小结)
Aug 01 Javascript
Flutter实现仿微信底部菜单栏功能
Sep 18 Javascript
js实现随机点名程序
Sep 17 Javascript
原生JS生成指定位数的验证码
Oct 28 Javascript
Vue的过滤器你真了解吗
Feb 24 Vue.js
如何在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
2020年4月新番动漫目录 官方宣布4月播出的作品一览
2020/03/08 日漫
解析php中call_user_func_array的作用
2013/06/07 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
PHP抓取及分析网页的方法详解
2016/04/26 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
简单的php购物车代码
2020/06/05 PHP
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
2016/08/05 Javascript
AngularJS入门教程之过滤器详解
2016/08/19 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
基于zepto.js实现手机相册功能
2017/07/11 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
2020/04/28 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
python测试驱动开发实例
2014/10/08 Python
深入理解Django的自定义过滤器
2017/10/17 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
化工专业应届生求职信
2013/11/08 职场文书
农民致富事迹材料
2014/01/23 职场文书
大学运动会入场词
2014/02/22 职场文书
消防隐患整改通知书
2015/04/22 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
母婴行业实体、电商模式全面解析
2019/08/01 职场文书
详解JAVA中的OPTIONAL
2021/06/14 Java/Android