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 相关文章推荐
改善你的jQuery的25个步骤 千倍级效率提升
Feb 11 Javascript
js前台判断开始时间是否小于结束时间
Feb 23 Javascript
js实现页面转发功能示例代码
Aug 05 Javascript
a标签click和href执行顺序探讨
Jun 23 Javascript
使用jspdf生成pdf报表
Jul 03 Javascript
jQuery实现选项卡功能(两种方法)
Mar 08 Javascript
ES6中的箭头函数实例详解
Apr 06 Javascript
从setTimeout看js函数执行过程
Dec 19 Javascript
在Angular中使用JWT认证方法示例
Sep 10 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
Jan 24 Javascript
Jquery让form表单异步提交代码实现
Nov 14 jQuery
vue移动端下拉刷新和上滑加载
Oct 27 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
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
详解VUE调用本地json的使用方法
2019/05/15 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
Python的面向对象编程方式学习笔记
2016/07/12 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
python实现ID3决策树算法
2017/12/20 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
Python如何实现线程间通信
2020/07/30 Python
django和flask哪个值得研究学习
2020/07/31 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
init进程的作用
2015/08/20 面试题
创建绿色学校先进个人材料
2014/08/20 职场文书
元旦趣味活动方案
2014/08/22 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
毕业实习计划书
2015/01/16 职场文书
《秋思》教学反思
2016/02/23 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android